/*
Copyright 2015 The Kubernetes Authors All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

// ************************************************************
// DO NOT EDIT.
// THIS FILE IS AUTO-GENERATED BY codecgen.
// ************************************************************

package v1

import (
	"errors"
	"fmt"
	codec1978 "github.com/ugorji/go/codec"
	pkg3_resource "k8s.io/kubernetes/pkg/api/resource"
	pkg2_unversioned "k8s.io/kubernetes/pkg/api/unversioned"
	pkg6_runtime "k8s.io/kubernetes/pkg/runtime"
	pkg1_types "k8s.io/kubernetes/pkg/types"
	pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr"
	"reflect"
	"runtime"
	pkg4_inf "speter.net/go/exp/math/dec/inf"
	time "time"
)

const (
	// ----- content types ----
	codecSelferC_UTF81234 = 1
	codecSelferC_RAW1234  = 0
	// ----- value types used ----
	codecSelferValueTypeArray1234 = 10
	codecSelferValueTypeMap1234   = 9
	// ----- containerStateValues ----
	codecSelfer_containerMapKey1234    = 2
	codecSelfer_containerMapValue1234  = 3
	codecSelfer_containerMapEnd1234    = 4
	codecSelfer_containerArrayElem1234 = 6
	codecSelfer_containerArrayEnd1234  = 7
)

var (
	codecSelferBitsize1234                         = uint8(reflect.TypeOf(uint(0)).Bits())
	codecSelferOnlyMapOrArrayEncodeToStructErr1234 = errors.New(`only encoded map or array can be decoded into a struct`)
)

type codecSelfer1234 struct{}

func init() {
	if codec1978.GenVersion != 5 {
		_, file, _, _ := runtime.Caller(0)
		err := fmt.Errorf("codecgen version mismatch: current: %v, need %v. Re-generate file: %v",
			5, codec1978.GenVersion, file)
		panic(err)
	}
	if false { // reference the types, but skip this branch at build/run time
		var v0 pkg3_resource.Quantity
		var v1 pkg2_unversioned.Time
		var v2 pkg6_runtime.RawExtension
		var v3 pkg1_types.UID
		var v4 pkg5_intstr.IntOrString
		var v5 pkg4_inf.Dec
		var v6 time.Time
		_, _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5, v6
	}
}

func (x *ObjectMeta) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [12]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			yyq2[0] = x.Name != ""
			yyq2[1] = x.GenerateName != ""
			yyq2[2] = x.Namespace != ""
			yyq2[3] = x.SelfLink != ""
			yyq2[4] = x.UID != ""
			yyq2[5] = x.ResourceVersion != ""
			yyq2[6] = x.Generation != 0
			yyq2[7] = true
			yyq2[8] = x.DeletionTimestamp != nil
			yyq2[9] = x.DeletionGracePeriodSeconds != nil
			yyq2[10] = len(x.Labels) != 0
			yyq2[11] = len(x.Annotations) != 0
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(12)
			} else {
				yynn2 = 0
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[0] {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[1] {
					yym7 := z.EncBinary()
					_ = yym7
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("generateName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym8 := z.EncBinary()
					_ = yym8
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[2] {
					yym10 := z.EncBinary()
					_ = yym10
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym11 := z.EncBinary()
					_ = yym11
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[3] {
					yym13 := z.EncBinary()
					_ = yym13
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("selfLink"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym14 := z.EncBinary()
					_ = yym14
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[4] {
					yym16 := z.EncBinary()
					_ = yym16
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym17 := z.EncBinary()
					_ = yym17
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[5] {
					yym19 := z.EncBinary()
					_ = yym19
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym20 := z.EncBinary()
					_ = yym20
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[6] {
					yym22 := z.EncBinary()
					_ = yym22
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("generation"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym23 := z.EncBinary()
					_ = yym23
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[7] {
					yy25 := &x.CreationTimestamp
					yym26 := z.EncBinary()
					_ = yym26
					if false {
					} else if z.HasExtensions() && z.EncExt(yy25) {
					} else if yym26 {
						z.EncBinaryMarshal(yy25)
					} else if !yym26 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy25)
					} else {
						z.EncFallback(yy25)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("creationTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy27 := &x.CreationTimestamp
					yym28 := z.EncBinary()
					_ = yym28
					if false {
					} else if z.HasExtensions() && z.EncExt(yy27) {
					} else if yym28 {
						z.EncBinaryMarshal(yy27)
					} else if !yym28 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy27)
					} else {
						z.EncFallback(yy27)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[8] {
					if x.DeletionTimestamp == nil {
						r.EncodeNil()
					} else {
						yym30 := z.EncBinary()
						_ = yym30
						if false {
						} else if z.HasExtensions() && z.EncExt(x.DeletionTimestamp) {
						} else if yym30 {
							z.EncBinaryMarshal(x.DeletionTimestamp)
						} else if !yym30 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.DeletionTimestamp)
						} else {
							z.EncFallback(x.DeletionTimestamp)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("deletionTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DeletionTimestamp == nil {
						r.EncodeNil()
					} else {
						yym31 := z.EncBinary()
						_ = yym31
						if false {
						} else if z.HasExtensions() && z.EncExt(x.DeletionTimestamp) {
						} else if yym31 {
							z.EncBinaryMarshal(x.DeletionTimestamp)
						} else if !yym31 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.DeletionTimestamp)
						} else {
							z.EncFallback(x.DeletionTimestamp)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[9] {
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy33 := *x.DeletionGracePeriodSeconds
						yym34 := z.EncBinary()
						_ = yym34
						if false {
						} else {
							r.EncodeInt(int64(yy33))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("deletionGracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy35 := *x.DeletionGracePeriodSeconds
						yym36 := z.EncBinary()
						_ = yym36
						if false {
						} else {
							r.EncodeInt(int64(yy35))
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[10] {
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym38 := z.EncBinary()
						_ = yym38
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("labels"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym39 := z.EncBinary()
						_ = yym39
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[11] {
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym41 := z.EncBinary()
						_ = yym41
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("annotations"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym42 := z.EncBinary()
						_ = yym42
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectMeta) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym43 := z.DecBinary()
	_ = yym43
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct44 := r.ContainerType()
		if yyct44 == codecSelferValueTypeMap1234 {
			yyl44 := r.ReadMapStart()
			if yyl44 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl44, d)
			}
		} else if yyct44 == codecSelferValueTypeArray1234 {
			yyl44 := r.ReadArrayStart()
			if yyl44 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl44, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectMeta) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys45Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys45Slc
	var yyhl45 bool = l >= 0
	for yyj45 := 0; ; yyj45++ {
		if yyhl45 {
			if yyj45 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys45Slc = r.DecodeBytes(yys45Slc, true, true)
		yys45 := string(yys45Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys45 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "generateName":
			if r.TryDecodeAsNil() {
				x.GenerateName = ""
			} else {
				x.GenerateName = string(r.DecodeString())
			}
		case "namespace":
			if r.TryDecodeAsNil() {
				x.Namespace = ""
			} else {
				x.Namespace = string(r.DecodeString())
			}
		case "selfLink":
			if r.TryDecodeAsNil() {
				x.SelfLink = ""
			} else {
				x.SelfLink = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "generation":
			if r.TryDecodeAsNil() {
				x.Generation = 0
			} else {
				x.Generation = int64(r.DecodeInt(64))
			}
		case "creationTimestamp":
			if r.TryDecodeAsNil() {
				x.CreationTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv53 := &x.CreationTimestamp
				yym54 := z.DecBinary()
				_ = yym54
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv53) {
				} else if yym54 {
					z.DecBinaryUnmarshal(yyv53)
				} else if !yym54 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv53)
				} else {
					z.DecFallback(yyv53, false)
				}
			}
		case "deletionTimestamp":
			if r.TryDecodeAsNil() {
				if x.DeletionTimestamp != nil {
					x.DeletionTimestamp = nil
				}
			} else {
				if x.DeletionTimestamp == nil {
					x.DeletionTimestamp = new(pkg2_unversioned.Time)
				}
				yym56 := z.DecBinary()
				_ = yym56
				if false {
				} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
				} else if yym56 {
					z.DecBinaryUnmarshal(x.DeletionTimestamp)
				} else if !yym56 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.DeletionTimestamp)
				} else {
					z.DecFallback(x.DeletionTimestamp, false)
				}
			}
		case "deletionGracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.DeletionGracePeriodSeconds != nil {
					x.DeletionGracePeriodSeconds = nil
				}
			} else {
				if x.DeletionGracePeriodSeconds == nil {
					x.DeletionGracePeriodSeconds = new(int64)
				}
				yym58 := z.DecBinary()
				_ = yym58
				if false {
				} else {
					*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "labels":
			if r.TryDecodeAsNil() {
				x.Labels = nil
			} else {
				yyv59 := &x.Labels
				yym60 := z.DecBinary()
				_ = yym60
				if false {
				} else {
					z.F.DecMapStringStringX(yyv59, false, d)
				}
			}
		case "annotations":
			if r.TryDecodeAsNil() {
				x.Annotations = nil
			} else {
				yyv61 := &x.Annotations
				yym62 := z.DecBinary()
				_ = yym62
				if false {
				} else {
					z.F.DecMapStringStringX(yyv61, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys45)
		} // end switch yys45
	} // end for yyj45
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectMeta) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj63 int
	var yyb63 bool
	var yyhl63 bool = l >= 0
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.GenerateName = ""
	} else {
		x.GenerateName = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SelfLink = ""
	} else {
		x.SelfLink = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Generation = 0
	} else {
		x.Generation = int64(r.DecodeInt(64))
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CreationTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv71 := &x.CreationTimestamp
		yym72 := z.DecBinary()
		_ = yym72
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv71) {
		} else if yym72 {
			z.DecBinaryUnmarshal(yyv71)
		} else if !yym72 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv71)
		} else {
			z.DecFallback(yyv71, false)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DeletionTimestamp != nil {
			x.DeletionTimestamp = nil
		}
	} else {
		if x.DeletionTimestamp == nil {
			x.DeletionTimestamp = new(pkg2_unversioned.Time)
		}
		yym74 := z.DecBinary()
		_ = yym74
		if false {
		} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
		} else if yym74 {
			z.DecBinaryUnmarshal(x.DeletionTimestamp)
		} else if !yym74 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.DeletionTimestamp)
		} else {
			z.DecFallback(x.DeletionTimestamp, false)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DeletionGracePeriodSeconds != nil {
			x.DeletionGracePeriodSeconds = nil
		}
	} else {
		if x.DeletionGracePeriodSeconds == nil {
			x.DeletionGracePeriodSeconds = new(int64)
		}
		yym76 := z.DecBinary()
		_ = yym76
		if false {
		} else {
			*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Labels = nil
	} else {
		yyv77 := &x.Labels
		yym78 := z.DecBinary()
		_ = yym78
		if false {
		} else {
			z.F.DecMapStringStringX(yyv77, false, d)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Annotations = nil
	} else {
		yyv79 := &x.Annotations
		yym80 := z.DecBinary()
		_ = yym80
		if false {
		} else {
			z.F.DecMapStringStringX(yyv79, false, d)
		}
	}
	for {
		yyj63++
		if yyhl63 {
			yyb63 = yyj63 > l
		} else {
			yyb63 = r.CheckBreak()
		}
		if yyb63 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj63-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Volume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym81 := z.EncBinary()
		_ = yym81
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep82 := !z.EncBinary()
			yy2arr82 := z.EncBasicHandle().StructToArray
			var yyq82 [18]bool
			_, _, _ = yysep82, yyq82, yy2arr82
			const yyr82 bool = false
			yyq82[1] = x.VolumeSource.HostPath != nil && x.HostPath != nil
			yyq82[2] = x.VolumeSource.EmptyDir != nil && x.EmptyDir != nil
			yyq82[3] = x.VolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq82[4] = x.VolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq82[5] = x.VolumeSource.GitRepo != nil && x.GitRepo != nil
			yyq82[6] = x.VolumeSource.Secret != nil && x.Secret != nil
			yyq82[7] = x.VolumeSource.NFS != nil && x.NFS != nil
			yyq82[8] = x.VolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq82[9] = x.VolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq82[10] = x.VolumeSource.PersistentVolumeClaim != nil && x.PersistentVolumeClaim != nil
			yyq82[11] = x.VolumeSource.RBD != nil && x.RBD != nil
			yyq82[12] = x.VolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq82[13] = x.VolumeSource.Cinder != nil && x.Cinder != nil
			yyq82[14] = x.VolumeSource.CephFS != nil && x.CephFS != nil
			yyq82[15] = x.VolumeSource.Flocker != nil && x.Flocker != nil
			yyq82[16] = x.VolumeSource.DownwardAPI != nil && x.DownwardAPI != nil
			yyq82[17] = x.VolumeSource.FC != nil && x.FC != nil
			var yynn82 int
			if yyr82 || yy2arr82 {
				r.EncodeArrayStart(18)
			} else {
				yynn82 = 1
				for _, b := range yyq82 {
					if b {
						yynn82++
					}
				}
				r.EncodeMapStart(yynn82)
				yynn82 = 0
			}
			if yyr82 || yy2arr82 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym84 := z.EncBinary()
				_ = yym84
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym85 := z.EncBinary()
				_ = yym85
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			var yyn86 bool
			if x.VolumeSource.HostPath == nil {
				yyn86 = true
				goto LABEL86
			}
		LABEL86:
			if yyr82 || yy2arr82 {
				if yyn86 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[1] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn86 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn87 bool
			if x.VolumeSource.EmptyDir == nil {
				yyn87 = true
				goto LABEL87
			}
		LABEL87:
			if yyr82 || yy2arr82 {
				if yyn87 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[2] {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn87 {
						r.EncodeNil()
					} else {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn88 bool
			if x.VolumeSource.GCEPersistentDisk == nil {
				yyn88 = true
				goto LABEL88
			}
		LABEL88:
			if yyr82 || yy2arr82 {
				if yyn88 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[3] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn88 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn89 bool
			if x.VolumeSource.AWSElasticBlockStore == nil {
				yyn89 = true
				goto LABEL89
			}
		LABEL89:
			if yyr82 || yy2arr82 {
				if yyn89 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[4] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn89 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn90 bool
			if x.VolumeSource.GitRepo == nil {
				yyn90 = true
				goto LABEL90
			}
		LABEL90:
			if yyr82 || yy2arr82 {
				if yyn90 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[5] {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn90 {
						r.EncodeNil()
					} else {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn91 bool
			if x.VolumeSource.Secret == nil {
				yyn91 = true
				goto LABEL91
			}
		LABEL91:
			if yyr82 || yy2arr82 {
				if yyn91 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[6] {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn91 {
						r.EncodeNil()
					} else {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn92 bool
			if x.VolumeSource.NFS == nil {
				yyn92 = true
				goto LABEL92
			}
		LABEL92:
			if yyr82 || yy2arr82 {
				if yyn92 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[7] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn92 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn93 bool
			if x.VolumeSource.ISCSI == nil {
				yyn93 = true
				goto LABEL93
			}
		LABEL93:
			if yyr82 || yy2arr82 {
				if yyn93 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn93 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn94 bool
			if x.VolumeSource.Glusterfs == nil {
				yyn94 = true
				goto LABEL94
			}
		LABEL94:
			if yyr82 || yy2arr82 {
				if yyn94 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[9] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn94 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn95 bool
			if x.VolumeSource.PersistentVolumeClaim == nil {
				yyn95 = true
				goto LABEL95
			}
		LABEL95:
			if yyr82 || yy2arr82 {
				if yyn95 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[10] {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn95 {
						r.EncodeNil()
					} else {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn96 bool
			if x.VolumeSource.RBD == nil {
				yyn96 = true
				goto LABEL96
			}
		LABEL96:
			if yyr82 || yy2arr82 {
				if yyn96 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[11] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn96 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn97 bool
			if x.VolumeSource.FlexVolume == nil {
				yyn97 = true
				goto LABEL97
			}
		LABEL97:
			if yyr82 || yy2arr82 {
				if yyn97 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[12] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn97 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn98 bool
			if x.VolumeSource.Cinder == nil {
				yyn98 = true
				goto LABEL98
			}
		LABEL98:
			if yyr82 || yy2arr82 {
				if yyn98 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[13] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn98 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn99 bool
			if x.VolumeSource.CephFS == nil {
				yyn99 = true
				goto LABEL99
			}
		LABEL99:
			if yyr82 || yy2arr82 {
				if yyn99 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[14] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn99 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn100 bool
			if x.VolumeSource.Flocker == nil {
				yyn100 = true
				goto LABEL100
			}
		LABEL100:
			if yyr82 || yy2arr82 {
				if yyn100 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[15] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn100 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn101 bool
			if x.VolumeSource.DownwardAPI == nil {
				yyn101 = true
				goto LABEL101
			}
		LABEL101:
			if yyr82 || yy2arr82 {
				if yyn101 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[16] {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn101 {
						r.EncodeNil()
					} else {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn102 bool
			if x.VolumeSource.FC == nil {
				yyn102 = true
				goto LABEL102
			}
		LABEL102:
			if yyr82 || yy2arr82 {
				if yyn102 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[17] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn102 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr82 || yy2arr82 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Volume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym103 := z.DecBinary()
	_ = yym103
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct104 := r.ContainerType()
		if yyct104 == codecSelferValueTypeMap1234 {
			yyl104 := r.ReadMapStart()
			if yyl104 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl104, d)
			}
		} else if yyct104 == codecSelferValueTypeArray1234 {
			yyl104 := r.ReadArrayStart()
			if yyl104 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl104, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Volume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys105Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys105Slc
	var yyhl105 bool = l >= 0
	for yyj105 := 0; ; yyj105++ {
		if yyhl105 {
			if yyj105 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys105Slc = r.DecodeBytes(yys105Slc, true, true)
		yys105 := string(yys105Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys105 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPath":
			if x.VolumeSource.HostPath == nil {
				x.VolumeSource.HostPath = new(HostPathVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "emptyDir":
			if x.VolumeSource.EmptyDir == nil {
				x.VolumeSource.EmptyDir = new(EmptyDirVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.EmptyDir != nil {
					x.EmptyDir = nil
				}
			} else {
				if x.EmptyDir == nil {
					x.EmptyDir = new(EmptyDirVolumeSource)
				}
				x.EmptyDir.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if x.VolumeSource.GCEPersistentDisk == nil {
				x.VolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if x.VolumeSource.AWSElasticBlockStore == nil {
				x.VolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "gitRepo":
			if x.VolumeSource.GitRepo == nil {
				x.VolumeSource.GitRepo = new(GitRepoVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GitRepo != nil {
					x.GitRepo = nil
				}
			} else {
				if x.GitRepo == nil {
					x.GitRepo = new(GitRepoVolumeSource)
				}
				x.GitRepo.CodecDecodeSelf(d)
			}
		case "secret":
			if x.VolumeSource.Secret == nil {
				x.VolumeSource.Secret = new(SecretVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Secret != nil {
					x.Secret = nil
				}
			} else {
				if x.Secret == nil {
					x.Secret = new(SecretVolumeSource)
				}
				x.Secret.CodecDecodeSelf(d)
			}
		case "nfs":
			if x.VolumeSource.NFS == nil {
				x.VolumeSource.NFS = new(NFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "iscsi":
			if x.VolumeSource.ISCSI == nil {
				x.VolumeSource.ISCSI = new(ISCSIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if x.VolumeSource.Glusterfs == nil {
				x.VolumeSource.Glusterfs = new(GlusterfsVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "persistentVolumeClaim":
			if x.VolumeSource.PersistentVolumeClaim == nil {
				x.VolumeSource.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.PersistentVolumeClaim != nil {
					x.PersistentVolumeClaim = nil
				}
			} else {
				if x.PersistentVolumeClaim == nil {
					x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
				}
				x.PersistentVolumeClaim.CodecDecodeSelf(d)
			}
		case "rbd":
			if x.VolumeSource.RBD == nil {
				x.VolumeSource.RBD = new(RBDVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if x.VolumeSource.FlexVolume == nil {
				x.VolumeSource.FlexVolume = new(FlexVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if x.VolumeSource.Cinder == nil {
				x.VolumeSource.Cinder = new(CinderVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if x.VolumeSource.CephFS == nil {
				x.VolumeSource.CephFS = new(CephFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "flocker":
			if x.VolumeSource.Flocker == nil {
				x.VolumeSource.Flocker = new(FlockerVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "downwardAPI":
			if x.VolumeSource.DownwardAPI == nil {
				x.VolumeSource.DownwardAPI = new(DownwardAPIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.DownwardAPI != nil {
					x.DownwardAPI = nil
				}
			} else {
				if x.DownwardAPI == nil {
					x.DownwardAPI = new(DownwardAPIVolumeSource)
				}
				x.DownwardAPI.CodecDecodeSelf(d)
			}
		case "fc":
			if x.VolumeSource.FC == nil {
				x.VolumeSource.FC = new(FCVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys105)
		} // end switch yys105
	} // end for yyj105
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj124 int
	var yyb124 bool
	var yyhl124 bool = l >= 0
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	if x.VolumeSource.HostPath == nil {
		x.VolumeSource.HostPath = new(HostPathVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	if x.VolumeSource.EmptyDir == nil {
		x.VolumeSource.EmptyDir = new(EmptyDirVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	if x.VolumeSource.GCEPersistentDisk == nil {
		x.VolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	if x.VolumeSource.AWSElasticBlockStore == nil {
		x.VolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	if x.VolumeSource.GitRepo == nil {
		x.VolumeSource.GitRepo = new(GitRepoVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Secret == nil {
		x.VolumeSource.Secret = new(SecretVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	if x.VolumeSource.NFS == nil {
		x.VolumeSource.NFS = new(NFSVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	if x.VolumeSource.ISCSI == nil {
		x.VolumeSource.ISCSI = new(ISCSIVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Glusterfs == nil {
		x.VolumeSource.Glusterfs = new(GlusterfsVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	if x.VolumeSource.PersistentVolumeClaim == nil {
		x.VolumeSource.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	if x.VolumeSource.RBD == nil {
		x.VolumeSource.RBD = new(RBDVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	if x.VolumeSource.FlexVolume == nil {
		x.VolumeSource.FlexVolume = new(FlexVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Cinder == nil {
		x.VolumeSource.Cinder = new(CinderVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	if x.VolumeSource.CephFS == nil {
		x.VolumeSource.CephFS = new(CephFSVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Flocker == nil {
		x.VolumeSource.Flocker = new(FlockerVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	if x.VolumeSource.DownwardAPI == nil {
		x.VolumeSource.DownwardAPI = new(DownwardAPIVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	if x.VolumeSource.FC == nil {
		x.VolumeSource.FC = new(FCVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	for {
		yyj124++
		if yyhl124 {
			yyb124 = yyj124 > l
		} else {
			yyb124 = r.CheckBreak()
		}
		if yyb124 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj124-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *VolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym143 := z.EncBinary()
		_ = yym143
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep144 := !z.EncBinary()
			yy2arr144 := z.EncBasicHandle().StructToArray
			var yyq144 [17]bool
			_, _, _ = yysep144, yyq144, yy2arr144
			const yyr144 bool = false
			yyq144[0] = x.HostPath != nil
			yyq144[1] = x.EmptyDir != nil
			yyq144[2] = x.GCEPersistentDisk != nil
			yyq144[3] = x.AWSElasticBlockStore != nil
			yyq144[4] = x.GitRepo != nil
			yyq144[5] = x.Secret != nil
			yyq144[6] = x.NFS != nil
			yyq144[7] = x.ISCSI != nil
			yyq144[8] = x.Glusterfs != nil
			yyq144[9] = x.PersistentVolumeClaim != nil
			yyq144[10] = x.RBD != nil
			yyq144[11] = x.FlexVolume != nil
			yyq144[12] = x.Cinder != nil
			yyq144[13] = x.CephFS != nil
			yyq144[14] = x.Flocker != nil
			yyq144[15] = x.DownwardAPI != nil
			yyq144[16] = x.FC != nil
			var yynn144 int
			if yyr144 || yy2arr144 {
				r.EncodeArrayStart(17)
			} else {
				yynn144 = 0
				for _, b := range yyq144 {
					if b {
						yynn144++
					}
				}
				r.EncodeMapStart(yynn144)
				yynn144 = 0
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[0] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[1] {
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[2] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[3] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[4] {
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[5] {
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[6] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[8] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[9] {
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[10] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[11] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[12] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[13] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[14] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[15] {
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[16] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *VolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym162 := z.DecBinary()
	_ = yym162
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct163 := r.ContainerType()
		if yyct163 == codecSelferValueTypeMap1234 {
			yyl163 := r.ReadMapStart()
			if yyl163 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl163, d)
			}
		} else if yyct163 == codecSelferValueTypeArray1234 {
			yyl163 := r.ReadArrayStart()
			if yyl163 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl163, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys164Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys164Slc
	var yyhl164 bool = l >= 0
	for yyj164 := 0; ; yyj164++ {
		if yyhl164 {
			if yyj164 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys164Slc = r.DecodeBytes(yys164Slc, true, true)
		yys164 := string(yys164Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys164 {
		case "hostPath":
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "emptyDir":
			if r.TryDecodeAsNil() {
				if x.EmptyDir != nil {
					x.EmptyDir = nil
				}
			} else {
				if x.EmptyDir == nil {
					x.EmptyDir = new(EmptyDirVolumeSource)
				}
				x.EmptyDir.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "gitRepo":
			if r.TryDecodeAsNil() {
				if x.GitRepo != nil {
					x.GitRepo = nil
				}
			} else {
				if x.GitRepo == nil {
					x.GitRepo = new(GitRepoVolumeSource)
				}
				x.GitRepo.CodecDecodeSelf(d)
			}
		case "secret":
			if r.TryDecodeAsNil() {
				if x.Secret != nil {
					x.Secret = nil
				}
			} else {
				if x.Secret == nil {
					x.Secret = new(SecretVolumeSource)
				}
				x.Secret.CodecDecodeSelf(d)
			}
		case "nfs":
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "iscsi":
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "persistentVolumeClaim":
			if r.TryDecodeAsNil() {
				if x.PersistentVolumeClaim != nil {
					x.PersistentVolumeClaim = nil
				}
			} else {
				if x.PersistentVolumeClaim == nil {
					x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
				}
				x.PersistentVolumeClaim.CodecDecodeSelf(d)
			}
		case "rbd":
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "flocker":
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "downwardAPI":
			if r.TryDecodeAsNil() {
				if x.DownwardAPI != nil {
					x.DownwardAPI = nil
				}
			} else {
				if x.DownwardAPI == nil {
					x.DownwardAPI = new(DownwardAPIVolumeSource)
				}
				x.DownwardAPI.CodecDecodeSelf(d)
			}
		case "fc":
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys164)
		} // end switch yys164
	} // end for yyj164
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj182 int
	var yyb182 bool
	var yyhl182 bool = l >= 0
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	for {
		yyj182++
		if yyhl182 {
			yyb182 = yyj182 > l
		} else {
			yyb182 = r.CheckBreak()
		}
		if yyb182 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj182-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym200 := z.EncBinary()
		_ = yym200
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep201 := !z.EncBinary()
			yy2arr201 := z.EncBasicHandle().StructToArray
			var yyq201 [2]bool
			_, _, _ = yysep201, yyq201, yy2arr201
			const yyr201 bool = false
			yyq201[1] = x.ReadOnly != false
			var yynn201 int
			if yyr201 || yy2arr201 {
				r.EncodeArrayStart(2)
			} else {
				yynn201 = 1
				for _, b := range yyq201 {
					if b {
						yynn201++
					}
				}
				r.EncodeMapStart(yynn201)
				yynn201 = 0
			}
			if yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym203 := z.EncBinary()
				_ = yym203
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("claimName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym204 := z.EncBinary()
				_ = yym204
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			}
			if yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[1] {
					yym206 := z.EncBinary()
					_ = yym206
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq201[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym207 := z.EncBinary()
					_ = yym207
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym208 := z.DecBinary()
	_ = yym208
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct209 := r.ContainerType()
		if yyct209 == codecSelferValueTypeMap1234 {
			yyl209 := r.ReadMapStart()
			if yyl209 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl209, d)
			}
		} else if yyct209 == codecSelferValueTypeArray1234 {
			yyl209 := r.ReadArrayStart()
			if yyl209 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl209, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys210Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys210Slc
	var yyhl210 bool = l >= 0
	for yyj210 := 0; ; yyj210++ {
		if yyhl210 {
			if yyj210 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys210Slc = r.DecodeBytes(yys210Slc, true, true)
		yys210 := string(yys210Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys210 {
		case "claimName":
			if r.TryDecodeAsNil() {
				x.ClaimName = ""
			} else {
				x.ClaimName = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys210)
		} // end switch yys210
	} // end for yyj210
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj213 int
	var yyb213 bool
	var yyhl213 bool = l >= 0
	yyj213++
	if yyhl213 {
		yyb213 = yyj213 > l
	} else {
		yyb213 = r.CheckBreak()
	}
	if yyb213 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClaimName = ""
	} else {
		x.ClaimName = string(r.DecodeString())
	}
	yyj213++
	if yyhl213 {
		yyb213 = yyj213 > l
	} else {
		yyb213 = r.CheckBreak()
	}
	if yyb213 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj213++
		if yyhl213 {
			yyb213 = yyj213 > l
		} else {
			yyb213 = r.CheckBreak()
		}
		if yyb213 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj213-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym216 := z.EncBinary()
		_ = yym216
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep217 := !z.EncBinary()
			yy2arr217 := z.EncBasicHandle().StructToArray
			var yyq217 [12]bool
			_, _, _ = yysep217, yyq217, yy2arr217
			const yyr217 bool = false
			yyq217[0] = x.GCEPersistentDisk != nil
			yyq217[1] = x.AWSElasticBlockStore != nil
			yyq217[2] = x.HostPath != nil
			yyq217[3] = x.Glusterfs != nil
			yyq217[4] = x.NFS != nil
			yyq217[5] = x.RBD != nil
			yyq217[6] = x.ISCSI != nil
			yyq217[7] = x.Cinder != nil
			yyq217[8] = x.CephFS != nil
			yyq217[9] = x.FC != nil
			yyq217[10] = x.Flocker != nil
			yyq217[11] = x.FlexVolume != nil
			var yynn217 int
			if yyr217 || yy2arr217 {
				r.EncodeArrayStart(12)
			} else {
				yynn217 = 0
				for _, b := range yyq217 {
					if b {
						yynn217++
					}
				}
				r.EncodeMapStart(yynn217)
				yynn217 = 0
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[0] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[1] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[2] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[3] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[4] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[5] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[6] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[7] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[8] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[9] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[10] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq217[11] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq217[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr217 || yy2arr217 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym230 := z.DecBinary()
	_ = yym230
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct231 := r.ContainerType()
		if yyct231 == codecSelferValueTypeMap1234 {
			yyl231 := r.ReadMapStart()
			if yyl231 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl231, d)
			}
		} else if yyct231 == codecSelferValueTypeArray1234 {
			yyl231 := r.ReadArrayStart()
			if yyl231 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl231, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys232Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys232Slc
	var yyhl232 bool = l >= 0
	for yyj232 := 0; ; yyj232++ {
		if yyhl232 {
			if yyj232 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys232Slc = r.DecodeBytes(yys232Slc, true, true)
		yys232 := string(yys232Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys232 {
		case "gcePersistentDisk":
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "hostPath":
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "nfs":
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "rbd":
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "iscsi":
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "cinder":
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "fc":
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "flocker":
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys232)
		} // end switch yys232
	} // end for yyj232
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj245 int
	var yyb245 bool
	var yyhl245 bool = l >= 0
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj245++
	if yyhl245 {
		yyb245 = yyj245 > l
	} else {
		yyb245 = r.CheckBreak()
	}
	if yyb245 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	for {
		yyj245++
		if yyhl245 {
			yyb245 = yyj245 > l
		} else {
			yyb245 = r.CheckBreak()
		}
		if yyb245 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj245-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym258 := z.EncBinary()
		_ = yym258
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep259 := !z.EncBinary()
			yy2arr259 := z.EncBasicHandle().StructToArray
			var yyq259 [5]bool
			_, _, _ = yysep259, yyq259, yy2arr259
			const yyr259 bool = false
			yyq259[0] = x.Kind != ""
			yyq259[1] = x.APIVersion != ""
			yyq259[2] = true
			yyq259[3] = true
			yyq259[4] = true
			var yynn259 int
			if yyr259 || yy2arr259 {
				r.EncodeArrayStart(5)
			} else {
				yynn259 = 0
				for _, b := range yyq259 {
					if b {
						yynn259++
					}
				}
				r.EncodeMapStart(yynn259)
				yynn259 = 0
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[0] {
					yym261 := z.EncBinary()
					_ = yym261
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq259[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym262 := z.EncBinary()
					_ = yym262
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[1] {
					yym264 := z.EncBinary()
					_ = yym264
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq259[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym265 := z.EncBinary()
					_ = yym265
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[2] {
					yy267 := &x.ObjectMeta
					yy267.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq259[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy268 := &x.ObjectMeta
					yy268.CodecEncodeSelf(e)
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[3] {
					yy270 := &x.Spec
					yy270.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq259[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy271 := &x.Spec
					yy271.CodecEncodeSelf(e)
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[4] {
					yy273 := &x.Status
					yy273.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq259[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy274 := &x.Status
					yy274.CodecEncodeSelf(e)
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym275 := z.DecBinary()
	_ = yym275
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct276 := r.ContainerType()
		if yyct276 == codecSelferValueTypeMap1234 {
			yyl276 := r.ReadMapStart()
			if yyl276 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl276, d)
			}
		} else if yyct276 == codecSelferValueTypeArray1234 {
			yyl276 := r.ReadArrayStart()
			if yyl276 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl276, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys277Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys277Slc
	var yyhl277 bool = l >= 0
	for yyj277 := 0; ; yyj277++ {
		if yyhl277 {
			if yyj277 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys277Slc = r.DecodeBytes(yys277Slc, true, true)
		yys277 := string(yys277Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys277 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv280 := &x.ObjectMeta
				yyv280.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeSpec{}
			} else {
				yyv281 := &x.Spec
				yyv281.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeStatus{}
			} else {
				yyv282 := &x.Status
				yyv282.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys277)
		} // end switch yys277
	} // end for yyj277
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj283 int
	var yyb283 bool
	var yyhl283 bool = l >= 0
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv286 := &x.ObjectMeta
		yyv286.CodecDecodeSelf(d)
	}
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeSpec{}
	} else {
		yyv287 := &x.Spec
		yyv287.CodecDecodeSelf(d)
	}
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeStatus{}
	} else {
		yyv288 := &x.Status
		yyv288.CodecDecodeSelf(d)
	}
	for {
		yyj283++
		if yyhl283 {
			yyb283 = yyj283 > l
		} else {
			yyb283 = r.CheckBreak()
		}
		if yyb283 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj283-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym289 := z.EncBinary()
		_ = yym289
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep290 := !z.EncBinary()
			yy2arr290 := z.EncBasicHandle().StructToArray
			var yyq290 [16]bool
			_, _, _ = yysep290, yyq290, yy2arr290
			const yyr290 bool = false
			yyq290[0] = len(x.Capacity) != 0
			yyq290[1] = x.PersistentVolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq290[2] = x.PersistentVolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq290[3] = x.PersistentVolumeSource.HostPath != nil && x.HostPath != nil
			yyq290[4] = x.PersistentVolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq290[5] = x.PersistentVolumeSource.NFS != nil && x.NFS != nil
			yyq290[6] = x.PersistentVolumeSource.RBD != nil && x.RBD != nil
			yyq290[7] = x.PersistentVolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq290[8] = x.PersistentVolumeSource.Cinder != nil && x.Cinder != nil
			yyq290[9] = x.PersistentVolumeSource.CephFS != nil && x.CephFS != nil
			yyq290[10] = x.PersistentVolumeSource.FC != nil && x.FC != nil
			yyq290[11] = x.PersistentVolumeSource.Flocker != nil && x.Flocker != nil
			yyq290[12] = x.PersistentVolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq290[13] = len(x.AccessModes) != 0
			yyq290[14] = x.ClaimRef != nil
			yyq290[15] = x.PersistentVolumeReclaimPolicy != ""
			var yynn290 int
			if yyr290 || yy2arr290 {
				r.EncodeArrayStart(16)
			} else {
				yynn290 = 0
				for _, b := range yyq290 {
					if b {
						yynn290++
					}
				}
				r.EncodeMapStart(yynn290)
				yynn290 = 0
			}
			if yyr290 || yy2arr290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq290[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq290[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			var yyn292 bool
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				yyn292 = true
				goto LABEL292
			}
		LABEL292:
			if yyr290 || yy2arr290 {
				if yyn292 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[1] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn292 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn293 bool
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				yyn293 = true
				goto LABEL293
			}
		LABEL293:
			if yyr290 || yy2arr290 {
				if yyn293 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[2] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn293 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn294 bool
			if x.PersistentVolumeSource.HostPath == nil {
				yyn294 = true
				goto LABEL294
			}
		LABEL294:
			if yyr290 || yy2arr290 {
				if yyn294 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[3] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn294 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn295 bool
			if x.PersistentVolumeSource.Glusterfs == nil {
				yyn295 = true
				goto LABEL295
			}
		LABEL295:
			if yyr290 || yy2arr290 {
				if yyn295 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[4] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn295 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn296 bool
			if x.PersistentVolumeSource.NFS == nil {
				yyn296 = true
				goto LABEL296
			}
		LABEL296:
			if yyr290 || yy2arr290 {
				if yyn296 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[5] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn296 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn297 bool
			if x.PersistentVolumeSource.RBD == nil {
				yyn297 = true
				goto LABEL297
			}
		LABEL297:
			if yyr290 || yy2arr290 {
				if yyn297 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[6] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn297 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn298 bool
			if x.PersistentVolumeSource.ISCSI == nil {
				yyn298 = true
				goto LABEL298
			}
		LABEL298:
			if yyr290 || yy2arr290 {
				if yyn298 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[7] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn298 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn299 bool
			if x.PersistentVolumeSource.Cinder == nil {
				yyn299 = true
				goto LABEL299
			}
		LABEL299:
			if yyr290 || yy2arr290 {
				if yyn299 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[8] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn299 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn300 bool
			if x.PersistentVolumeSource.CephFS == nil {
				yyn300 = true
				goto LABEL300
			}
		LABEL300:
			if yyr290 || yy2arr290 {
				if yyn300 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[9] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn300 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn301 bool
			if x.PersistentVolumeSource.FC == nil {
				yyn301 = true
				goto LABEL301
			}
		LABEL301:
			if yyr290 || yy2arr290 {
				if yyn301 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[10] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn301 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn302 bool
			if x.PersistentVolumeSource.Flocker == nil {
				yyn302 = true
				goto LABEL302
			}
		LABEL302:
			if yyr290 || yy2arr290 {
				if yyn302 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[11] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn302 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn303 bool
			if x.PersistentVolumeSource.FlexVolume == nil {
				yyn303 = true
				goto LABEL303
			}
		LABEL303:
			if yyr290 || yy2arr290 {
				if yyn303 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[12] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn303 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr290 || yy2arr290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq290[13] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym305 := z.EncBinary()
						_ = yym305
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq290[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym306 := z.EncBinary()
						_ = yym306
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr290 || yy2arr290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq290[14] {
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq290[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("claimRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr290 || yy2arr290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq290[15] {
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq290[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeReclaimPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr290 || yy2arr290 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym309 := z.DecBinary()
	_ = yym309
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct310 := r.ContainerType()
		if yyct310 == codecSelferValueTypeMap1234 {
			yyl310 := r.ReadMapStart()
			if yyl310 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl310, d)
			}
		} else if yyct310 == codecSelferValueTypeArray1234 {
			yyl310 := r.ReadArrayStart()
			if yyl310 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl310, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys311Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys311Slc
	var yyhl311 bool = l >= 0
	for yyj311 := 0; ; yyj311++ {
		if yyhl311 {
			if yyj311 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys311Slc = r.DecodeBytes(yys311Slc, true, true)
		yys311 := string(yys311Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys311 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv312 := &x.Capacity
				yyv312.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				x.PersistentVolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "hostPath":
			if x.PersistentVolumeSource.HostPath == nil {
				x.PersistentVolumeSource.HostPath = new(HostPathVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if x.PersistentVolumeSource.Glusterfs == nil {
				x.PersistentVolumeSource.Glusterfs = new(GlusterfsVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "nfs":
			if x.PersistentVolumeSource.NFS == nil {
				x.PersistentVolumeSource.NFS = new(NFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "rbd":
			if x.PersistentVolumeSource.RBD == nil {
				x.PersistentVolumeSource.RBD = new(RBDVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "iscsi":
			if x.PersistentVolumeSource.ISCSI == nil {
				x.PersistentVolumeSource.ISCSI = new(ISCSIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "cinder":
			if x.PersistentVolumeSource.Cinder == nil {
				x.PersistentVolumeSource.Cinder = new(CinderVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if x.PersistentVolumeSource.CephFS == nil {
				x.PersistentVolumeSource.CephFS = new(CephFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "fc":
			if x.PersistentVolumeSource.FC == nil {
				x.PersistentVolumeSource.FC = new(FCVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "flocker":
			if x.PersistentVolumeSource.Flocker == nil {
				x.PersistentVolumeSource.Flocker = new(FlockerVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if x.PersistentVolumeSource.FlexVolume == nil {
				x.PersistentVolumeSource.FlexVolume = new(FlexVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv325 := &x.AccessModes
				yym326 := z.DecBinary()
				_ = yym326
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv325), d)
				}
			}
		case "claimRef":
			if r.TryDecodeAsNil() {
				if x.ClaimRef != nil {
					x.ClaimRef = nil
				}
			} else {
				if x.ClaimRef == nil {
					x.ClaimRef = new(ObjectReference)
				}
				x.ClaimRef.CodecDecodeSelf(d)
			}
		case "persistentVolumeReclaimPolicy":
			if r.TryDecodeAsNil() {
				x.PersistentVolumeReclaimPolicy = ""
			} else {
				x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys311)
		} // end switch yys311
	} // end for yyj311
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj329 int
	var yyb329 bool
	var yyhl329 bool = l >= 0
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv330 := &x.Capacity
		yyv330.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.GCEPersistentDisk == nil {
		x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
		x.PersistentVolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.HostPath == nil {
		x.PersistentVolumeSource.HostPath = new(HostPathVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Glusterfs == nil {
		x.PersistentVolumeSource.Glusterfs = new(GlusterfsVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.NFS == nil {
		x.PersistentVolumeSource.NFS = new(NFSVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.RBD == nil {
		x.PersistentVolumeSource.RBD = new(RBDVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.ISCSI == nil {
		x.PersistentVolumeSource.ISCSI = new(ISCSIVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Cinder == nil {
		x.PersistentVolumeSource.Cinder = new(CinderVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.CephFS == nil {
		x.PersistentVolumeSource.CephFS = new(CephFSVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.FC == nil {
		x.PersistentVolumeSource.FC = new(FCVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Flocker == nil {
		x.PersistentVolumeSource.Flocker = new(FlockerVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.FlexVolume == nil {
		x.PersistentVolumeSource.FlexVolume = new(FlexVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv343 := &x.AccessModes
		yym344 := z.DecBinary()
		_ = yym344
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv343), d)
		}
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ClaimRef != nil {
			x.ClaimRef = nil
		}
	} else {
		if x.ClaimRef == nil {
			x.ClaimRef = new(ObjectReference)
		}
		x.ClaimRef.CodecDecodeSelf(d)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PersistentVolumeReclaimPolicy = ""
	} else {
		x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
	}
	for {
		yyj329++
		if yyhl329 {
			yyb329 = yyj329 > l
		} else {
			yyb329 = r.CheckBreak()
		}
		if yyb329 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj329-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeReclaimPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym347 := z.EncBinary()
	_ = yym347
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeReclaimPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym348 := z.DecBinary()
	_ = yym348
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PersistentVolumeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym349 := z.EncBinary()
		_ = yym349
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep350 := !z.EncBinary()
			yy2arr350 := z.EncBasicHandle().StructToArray
			var yyq350 [3]bool
			_, _, _ = yysep350, yyq350, yy2arr350
			const yyr350 bool = false
			yyq350[0] = x.Phase != ""
			yyq350[1] = x.Message != ""
			yyq350[2] = x.Reason != ""
			var yynn350 int
			if yyr350 || yy2arr350 {
				r.EncodeArrayStart(3)
			} else {
				yynn350 = 0
				for _, b := range yyq350 {
					if b {
						yynn350++
					}
				}
				r.EncodeMapStart(yynn350)
				yynn350 = 0
			}
			if yyr350 || yy2arr350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq350[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq350[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr350 || yy2arr350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq350[1] {
					yym353 := z.EncBinary()
					_ = yym353
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq350[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym354 := z.EncBinary()
					_ = yym354
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr350 || yy2arr350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq350[2] {
					yym356 := z.EncBinary()
					_ = yym356
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq350[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym357 := z.EncBinary()
					_ = yym357
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr350 || yy2arr350 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym358 := z.DecBinary()
	_ = yym358
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct359 := r.ContainerType()
		if yyct359 == codecSelferValueTypeMap1234 {
			yyl359 := r.ReadMapStart()
			if yyl359 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl359, d)
			}
		} else if yyct359 == codecSelferValueTypeArray1234 {
			yyl359 := r.ReadArrayStart()
			if yyl359 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl359, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys360Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys360Slc
	var yyhl360 bool = l >= 0
	for yyj360 := 0; ; yyj360++ {
		if yyhl360 {
			if yyj360 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys360Slc = r.DecodeBytes(yys360Slc, true, true)
		yys360 := string(yys360Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys360 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumePhase(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys360)
		} // end switch yys360
	} // end for yyj360
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj364 int
	var yyb364 bool
	var yyhl364 bool = l >= 0
	yyj364++
	if yyhl364 {
		yyb364 = yyj364 > l
	} else {
		yyb364 = r.CheckBreak()
	}
	if yyb364 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumePhase(r.DecodeString())
	}
	yyj364++
	if yyhl364 {
		yyb364 = yyj364 > l
	} else {
		yyb364 = r.CheckBreak()
	}
	if yyb364 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj364++
	if yyhl364 {
		yyb364 = yyj364 > l
	} else {
		yyb364 = r.CheckBreak()
	}
	if yyb364 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	for {
		yyj364++
		if yyhl364 {
			yyb364 = yyj364 > l
		} else {
			yyb364 = r.CheckBreak()
		}
		if yyb364 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj364-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym368 := z.EncBinary()
		_ = yym368
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep369 := !z.EncBinary()
			yy2arr369 := z.EncBasicHandle().StructToArray
			var yyq369 [4]bool
			_, _, _ = yysep369, yyq369, yy2arr369
			const yyr369 bool = false
			yyq369[0] = x.Kind != ""
			yyq369[1] = x.APIVersion != ""
			yyq369[2] = true
			var yynn369 int
			if yyr369 || yy2arr369 {
				r.EncodeArrayStart(4)
			} else {
				yynn369 = 1
				for _, b := range yyq369 {
					if b {
						yynn369++
					}
				}
				r.EncodeMapStart(yynn369)
				yynn369 = 0
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq369[0] {
					yym371 := z.EncBinary()
					_ = yym371
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq369[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym372 := z.EncBinary()
					_ = yym372
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq369[1] {
					yym374 := z.EncBinary()
					_ = yym374
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq369[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym375 := z.EncBinary()
					_ = yym375
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq369[2] {
					yy377 := &x.ListMeta
					yym378 := z.EncBinary()
					_ = yym378
					if false {
					} else if z.HasExtensions() && z.EncExt(yy377) {
					} else {
						z.EncFallback(yy377)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq369[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy379 := &x.ListMeta
					yym380 := z.EncBinary()
					_ = yym380
					if false {
					} else if z.HasExtensions() && z.EncExt(yy379) {
					} else {
						z.EncFallback(yy379)
					}
				}
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym382 := z.EncBinary()
					_ = yym382
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym383 := z.EncBinary()
					_ = yym383
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym384 := z.DecBinary()
	_ = yym384
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct385 := r.ContainerType()
		if yyct385 == codecSelferValueTypeMap1234 {
			yyl385 := r.ReadMapStart()
			if yyl385 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl385, d)
			}
		} else if yyct385 == codecSelferValueTypeArray1234 {
			yyl385 := r.ReadArrayStart()
			if yyl385 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl385, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys386Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys386Slc
	var yyhl386 bool = l >= 0
	for yyj386 := 0; ; yyj386++ {
		if yyhl386 {
			if yyj386 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys386Slc = r.DecodeBytes(yys386Slc, true, true)
		yys386 := string(yys386Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys386 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv389 := &x.ListMeta
				yym390 := z.DecBinary()
				_ = yym390
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv389) {
				} else {
					z.DecFallback(yyv389, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv391 := &x.Items
				yym392 := z.DecBinary()
				_ = yym392
				if false {
				} else {
					h.decSlicePersistentVolume((*[]PersistentVolume)(yyv391), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys386)
		} // end switch yys386
	} // end for yyj386
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj393 int
	var yyb393 bool
	var yyhl393 bool = l >= 0
	yyj393++
	if yyhl393 {
		yyb393 = yyj393 > l
	} else {
		yyb393 = r.CheckBreak()
	}
	if yyb393 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj393++
	if yyhl393 {
		yyb393 = yyj393 > l
	} else {
		yyb393 = r.CheckBreak()
	}
	if yyb393 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj393++
	if yyhl393 {
		yyb393 = yyj393 > l
	} else {
		yyb393 = r.CheckBreak()
	}
	if yyb393 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv396 := &x.ListMeta
		yym397 := z.DecBinary()
		_ = yym397
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv396) {
		} else {
			z.DecFallback(yyv396, false)
		}
	}
	yyj393++
	if yyhl393 {
		yyb393 = yyj393 > l
	} else {
		yyb393 = r.CheckBreak()
	}
	if yyb393 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv398 := &x.Items
		yym399 := z.DecBinary()
		_ = yym399
		if false {
		} else {
			h.decSlicePersistentVolume((*[]PersistentVolume)(yyv398), d)
		}
	}
	for {
		yyj393++
		if yyhl393 {
			yyb393 = yyj393 > l
		} else {
			yyb393 = r.CheckBreak()
		}
		if yyb393 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj393-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaim) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym400 := z.EncBinary()
		_ = yym400
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep401 := !z.EncBinary()
			yy2arr401 := z.EncBasicHandle().StructToArray
			var yyq401 [5]bool
			_, _, _ = yysep401, yyq401, yy2arr401
			const yyr401 bool = false
			yyq401[0] = x.Kind != ""
			yyq401[1] = x.APIVersion != ""
			yyq401[2] = true
			yyq401[3] = true
			yyq401[4] = true
			var yynn401 int
			if yyr401 || yy2arr401 {
				r.EncodeArrayStart(5)
			} else {
				yynn401 = 0
				for _, b := range yyq401 {
					if b {
						yynn401++
					}
				}
				r.EncodeMapStart(yynn401)
				yynn401 = 0
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[0] {
					yym403 := z.EncBinary()
					_ = yym403
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq401[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym404 := z.EncBinary()
					_ = yym404
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[1] {
					yym406 := z.EncBinary()
					_ = yym406
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq401[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym407 := z.EncBinary()
					_ = yym407
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[2] {
					yy409 := &x.ObjectMeta
					yy409.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq401[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy410 := &x.ObjectMeta
					yy410.CodecEncodeSelf(e)
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[3] {
					yy412 := &x.Spec
					yy412.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq401[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy413 := &x.Spec
					yy413.CodecEncodeSelf(e)
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[4] {
					yy415 := &x.Status
					yy415.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq401[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy416 := &x.Status
					yy416.CodecEncodeSelf(e)
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaim) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym417 := z.DecBinary()
	_ = yym417
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct418 := r.ContainerType()
		if yyct418 == codecSelferValueTypeMap1234 {
			yyl418 := r.ReadMapStart()
			if yyl418 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl418, d)
			}
		} else if yyct418 == codecSelferValueTypeArray1234 {
			yyl418 := r.ReadArrayStart()
			if yyl418 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl418, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys419Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys419Slc
	var yyhl419 bool = l >= 0
	for yyj419 := 0; ; yyj419++ {
		if yyhl419 {
			if yyj419 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys419Slc = r.DecodeBytes(yys419Slc, true, true)
		yys419 := string(yys419Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys419 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv422 := &x.ObjectMeta
				yyv422.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeClaimSpec{}
			} else {
				yyv423 := &x.Spec
				yyv423.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeClaimStatus{}
			} else {
				yyv424 := &x.Status
				yyv424.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys419)
		} // end switch yys419
	} // end for yyj419
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj425 int
	var yyb425 bool
	var yyhl425 bool = l >= 0
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv428 := &x.ObjectMeta
		yyv428.CodecDecodeSelf(d)
	}
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeClaimSpec{}
	} else {
		yyv429 := &x.Spec
		yyv429.CodecDecodeSelf(d)
	}
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeClaimStatus{}
	} else {
		yyv430 := &x.Status
		yyv430.CodecDecodeSelf(d)
	}
	for {
		yyj425++
		if yyhl425 {
			yyb425 = yyj425 > l
		} else {
			yyb425 = r.CheckBreak()
		}
		if yyb425 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj425-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym431 := z.EncBinary()
		_ = yym431
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep432 := !z.EncBinary()
			yy2arr432 := z.EncBasicHandle().StructToArray
			var yyq432 [4]bool
			_, _, _ = yysep432, yyq432, yy2arr432
			const yyr432 bool = false
			yyq432[0] = x.Kind != ""
			yyq432[1] = x.APIVersion != ""
			yyq432[2] = true
			var yynn432 int
			if yyr432 || yy2arr432 {
				r.EncodeArrayStart(4)
			} else {
				yynn432 = 1
				for _, b := range yyq432 {
					if b {
						yynn432++
					}
				}
				r.EncodeMapStart(yynn432)
				yynn432 = 0
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq432[0] {
					yym434 := z.EncBinary()
					_ = yym434
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq432[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym435 := z.EncBinary()
					_ = yym435
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq432[1] {
					yym437 := z.EncBinary()
					_ = yym437
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq432[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym438 := z.EncBinary()
					_ = yym438
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq432[2] {
					yy440 := &x.ListMeta
					yym441 := z.EncBinary()
					_ = yym441
					if false {
					} else if z.HasExtensions() && z.EncExt(yy440) {
					} else {
						z.EncFallback(yy440)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq432[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy442 := &x.ListMeta
					yym443 := z.EncBinary()
					_ = yym443
					if false {
					} else if z.HasExtensions() && z.EncExt(yy442) {
					} else {
						z.EncFallback(yy442)
					}
				}
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym445 := z.EncBinary()
					_ = yym445
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym446 := z.EncBinary()
					_ = yym446
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym447 := z.DecBinary()
	_ = yym447
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct448 := r.ContainerType()
		if yyct448 == codecSelferValueTypeMap1234 {
			yyl448 := r.ReadMapStart()
			if yyl448 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl448, d)
			}
		} else if yyct448 == codecSelferValueTypeArray1234 {
			yyl448 := r.ReadArrayStart()
			if yyl448 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl448, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys449Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys449Slc
	var yyhl449 bool = l >= 0
	for yyj449 := 0; ; yyj449++ {
		if yyhl449 {
			if yyj449 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys449Slc = r.DecodeBytes(yys449Slc, true, true)
		yys449 := string(yys449Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys449 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv452 := &x.ListMeta
				yym453 := z.DecBinary()
				_ = yym453
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv452) {
				} else {
					z.DecFallback(yyv452, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv454 := &x.Items
				yym455 := z.DecBinary()
				_ = yym455
				if false {
				} else {
					h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv454), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys449)
		} // end switch yys449
	} // end for yyj449
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj456 int
	var yyb456 bool
	var yyhl456 bool = l >= 0
	yyj456++
	if yyhl456 {
		yyb456 = yyj456 > l
	} else {
		yyb456 = r.CheckBreak()
	}
	if yyb456 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj456++
	if yyhl456 {
		yyb456 = yyj456 > l
	} else {
		yyb456 = r.CheckBreak()
	}
	if yyb456 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj456++
	if yyhl456 {
		yyb456 = yyj456 > l
	} else {
		yyb456 = r.CheckBreak()
	}
	if yyb456 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv459 := &x.ListMeta
		yym460 := z.DecBinary()
		_ = yym460
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv459) {
		} else {
			z.DecFallback(yyv459, false)
		}
	}
	yyj456++
	if yyhl456 {
		yyb456 = yyj456 > l
	} else {
		yyb456 = r.CheckBreak()
	}
	if yyb456 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv461 := &x.Items
		yym462 := z.DecBinary()
		_ = yym462
		if false {
		} else {
			h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv461), d)
		}
	}
	for {
		yyj456++
		if yyhl456 {
			yyb456 = yyj456 > l
		} else {
			yyb456 = r.CheckBreak()
		}
		if yyb456 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj456-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym463 := z.EncBinary()
		_ = yym463
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep464 := !z.EncBinary()
			yy2arr464 := z.EncBasicHandle().StructToArray
			var yyq464 [3]bool
			_, _, _ = yysep464, yyq464, yy2arr464
			const yyr464 bool = false
			yyq464[0] = len(x.AccessModes) != 0
			yyq464[1] = true
			yyq464[2] = x.VolumeName != ""
			var yynn464 int
			if yyr464 || yy2arr464 {
				r.EncodeArrayStart(3)
			} else {
				yynn464 = 0
				for _, b := range yyq464 {
					if b {
						yynn464++
					}
				}
				r.EncodeMapStart(yynn464)
				yynn464 = 0
			}
			if yyr464 || yy2arr464 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq464[0] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym466 := z.EncBinary()
						_ = yym466
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq464[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym467 := z.EncBinary()
						_ = yym467
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr464 || yy2arr464 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq464[1] {
					yy469 := &x.Resources
					yy469.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq464[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy470 := &x.Resources
					yy470.CodecEncodeSelf(e)
				}
			}
			if yyr464 || yy2arr464 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq464[2] {
					yym472 := z.EncBinary()
					_ = yym472
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq464[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym473 := z.EncBinary()
					_ = yym473
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				}
			}
			if yyr464 || yy2arr464 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym474 := z.DecBinary()
	_ = yym474
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct475 := r.ContainerType()
		if yyct475 == codecSelferValueTypeMap1234 {
			yyl475 := r.ReadMapStart()
			if yyl475 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl475, d)
			}
		} else if yyct475 == codecSelferValueTypeArray1234 {
			yyl475 := r.ReadArrayStart()
			if yyl475 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl475, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys476Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys476Slc
	var yyhl476 bool = l >= 0
	for yyj476 := 0; ; yyj476++ {
		if yyhl476 {
			if yyj476 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys476Slc = r.DecodeBytes(yys476Slc, true, true)
		yys476 := string(yys476Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys476 {
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv477 := &x.AccessModes
				yym478 := z.DecBinary()
				_ = yym478
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv477), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv479 := &x.Resources
				yyv479.CodecDecodeSelf(d)
			}
		case "volumeName":
			if r.TryDecodeAsNil() {
				x.VolumeName = ""
			} else {
				x.VolumeName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys476)
		} // end switch yys476
	} // end for yyj476
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj481 int
	var yyb481 bool
	var yyhl481 bool = l >= 0
	yyj481++
	if yyhl481 {
		yyb481 = yyj481 > l
	} else {
		yyb481 = r.CheckBreak()
	}
	if yyb481 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv482 := &x.AccessModes
		yym483 := z.DecBinary()
		_ = yym483
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv482), d)
		}
	}
	yyj481++
	if yyhl481 {
		yyb481 = yyj481 > l
	} else {
		yyb481 = r.CheckBreak()
	}
	if yyb481 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv484 := &x.Resources
		yyv484.CodecDecodeSelf(d)
	}
	yyj481++
	if yyhl481 {
		yyb481 = yyj481 > l
	} else {
		yyb481 = r.CheckBreak()
	}
	if yyb481 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeName = ""
	} else {
		x.VolumeName = string(r.DecodeString())
	}
	for {
		yyj481++
		if yyhl481 {
			yyb481 = yyj481 > l
		} else {
			yyb481 = r.CheckBreak()
		}
		if yyb481 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj481-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym486 := z.EncBinary()
		_ = yym486
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep487 := !z.EncBinary()
			yy2arr487 := z.EncBasicHandle().StructToArray
			var yyq487 [3]bool
			_, _, _ = yysep487, yyq487, yy2arr487
			const yyr487 bool = false
			yyq487[0] = x.Phase != ""
			yyq487[1] = len(x.AccessModes) != 0
			yyq487[2] = len(x.Capacity) != 0
			var yynn487 int
			if yyr487 || yy2arr487 {
				r.EncodeArrayStart(3)
			} else {
				yynn487 = 0
				for _, b := range yyq487 {
					if b {
						yynn487++
					}
				}
				r.EncodeMapStart(yynn487)
				yynn487 = 0
			}
			if yyr487 || yy2arr487 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq487[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq487[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr487 || yy2arr487 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq487[1] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym490 := z.EncBinary()
						_ = yym490
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq487[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym491 := z.EncBinary()
						_ = yym491
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr487 || yy2arr487 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq487[2] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq487[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr487 || yy2arr487 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym493 := z.DecBinary()
	_ = yym493
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct494 := r.ContainerType()
		if yyct494 == codecSelferValueTypeMap1234 {
			yyl494 := r.ReadMapStart()
			if yyl494 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl494, d)
			}
		} else if yyct494 == codecSelferValueTypeArray1234 {
			yyl494 := r.ReadArrayStart()
			if yyl494 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl494, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys495Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys495Slc
	var yyhl495 bool = l >= 0
	for yyj495 := 0; ; yyj495++ {
		if yyhl495 {
			if yyj495 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys495Slc = r.DecodeBytes(yys495Slc, true, true)
		yys495 := string(yys495Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys495 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv497 := &x.AccessModes
				yym498 := z.DecBinary()
				_ = yym498
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv497), d)
				}
			}
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv499 := &x.Capacity
				yyv499.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys495)
		} // end switch yys495
	} // end for yyj495
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj500 int
	var yyb500 bool
	var yyhl500 bool = l >= 0
	yyj500++
	if yyhl500 {
		yyb500 = yyj500 > l
	} else {
		yyb500 = r.CheckBreak()
	}
	if yyb500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
	}
	yyj500++
	if yyhl500 {
		yyb500 = yyj500 > l
	} else {
		yyb500 = r.CheckBreak()
	}
	if yyb500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv502 := &x.AccessModes
		yym503 := z.DecBinary()
		_ = yym503
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv502), d)
		}
	}
	yyj500++
	if yyhl500 {
		yyb500 = yyj500 > l
	} else {
		yyb500 = r.CheckBreak()
	}
	if yyb500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv504 := &x.Capacity
		yyv504.CodecDecodeSelf(d)
	}
	for {
		yyj500++
		if yyhl500 {
			yyb500 = yyj500 > l
		} else {
			yyb500 = r.CheckBreak()
		}
		if yyb500 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj500-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeAccessMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym505 := z.EncBinary()
	_ = yym505
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeAccessMode) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym506 := z.DecBinary()
	_ = yym506
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PersistentVolumePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym507 := z.EncBinary()
	_ = yym507
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym508 := z.DecBinary()
	_ = yym508
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PersistentVolumeClaimPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym509 := z.EncBinary()
	_ = yym509
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeClaimPhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym510 := z.DecBinary()
	_ = yym510
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *HostPathVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym511 := z.EncBinary()
		_ = yym511
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep512 := !z.EncBinary()
			yy2arr512 := z.EncBasicHandle().StructToArray
			var yyq512 [1]bool
			_, _, _ = yysep512, yyq512, yy2arr512
			const yyr512 bool = false
			var yynn512 int
			if yyr512 || yy2arr512 {
				r.EncodeArrayStart(1)
			} else {
				yynn512 = 1
				for _, b := range yyq512 {
					if b {
						yynn512++
					}
				}
				r.EncodeMapStart(yynn512)
				yynn512 = 0
			}
			if yyr512 || yy2arr512 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym514 := z.EncBinary()
				_ = yym514
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym515 := z.EncBinary()
				_ = yym515
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr512 || yy2arr512 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *HostPathVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym516 := z.DecBinary()
	_ = yym516
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct517 := r.ContainerType()
		if yyct517 == codecSelferValueTypeMap1234 {
			yyl517 := r.ReadMapStart()
			if yyl517 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl517, d)
			}
		} else if yyct517 == codecSelferValueTypeArray1234 {
			yyl517 := r.ReadArrayStart()
			if yyl517 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl517, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HostPathVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys518Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys518Slc
	var yyhl518 bool = l >= 0
	for yyj518 := 0; ; yyj518++ {
		if yyhl518 {
			if yyj518 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys518Slc = r.DecodeBytes(yys518Slc, true, true)
		yys518 := string(yys518Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys518 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys518)
		} // end switch yys518
	} // end for yyj518
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *HostPathVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj520 int
	var yyb520 bool
	var yyhl520 bool = l >= 0
	yyj520++
	if yyhl520 {
		yyb520 = yyj520 > l
	} else {
		yyb520 = r.CheckBreak()
	}
	if yyb520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj520++
		if yyhl520 {
			yyb520 = yyj520 > l
		} else {
			yyb520 = r.CheckBreak()
		}
		if yyb520 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj520-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EmptyDirVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym522 := z.EncBinary()
		_ = yym522
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep523 := !z.EncBinary()
			yy2arr523 := z.EncBasicHandle().StructToArray
			var yyq523 [1]bool
			_, _, _ = yysep523, yyq523, yy2arr523
			const yyr523 bool = false
			yyq523[0] = x.Medium != ""
			var yynn523 int
			if yyr523 || yy2arr523 {
				r.EncodeArrayStart(1)
			} else {
				yynn523 = 0
				for _, b := range yyq523 {
					if b {
						yynn523++
					}
				}
				r.EncodeMapStart(yynn523)
				yynn523 = 0
			}
			if yyr523 || yy2arr523 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq523[0] {
					x.Medium.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq523[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("medium"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Medium.CodecEncodeSelf(e)
				}
			}
			if yyr523 || yy2arr523 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EmptyDirVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym525 := z.DecBinary()
	_ = yym525
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct526 := r.ContainerType()
		if yyct526 == codecSelferValueTypeMap1234 {
			yyl526 := r.ReadMapStart()
			if yyl526 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl526, d)
			}
		} else if yyct526 == codecSelferValueTypeArray1234 {
			yyl526 := r.ReadArrayStart()
			if yyl526 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl526, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EmptyDirVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys527Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys527Slc
	var yyhl527 bool = l >= 0
	for yyj527 := 0; ; yyj527++ {
		if yyhl527 {
			if yyj527 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys527Slc = r.DecodeBytes(yys527Slc, true, true)
		yys527 := string(yys527Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys527 {
		case "medium":
			if r.TryDecodeAsNil() {
				x.Medium = ""
			} else {
				x.Medium = StorageMedium(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys527)
		} // end switch yys527
	} // end for yyj527
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EmptyDirVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj529 int
	var yyb529 bool
	var yyhl529 bool = l >= 0
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Medium = ""
	} else {
		x.Medium = StorageMedium(r.DecodeString())
	}
	for {
		yyj529++
		if yyhl529 {
			yyb529 = yyj529 > l
		} else {
			yyb529 = r.CheckBreak()
		}
		if yyb529 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj529-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *GlusterfsVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym531 := z.EncBinary()
		_ = yym531
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep532 := !z.EncBinary()
			yy2arr532 := z.EncBasicHandle().StructToArray
			var yyq532 [3]bool
			_, _, _ = yysep532, yyq532, yy2arr532
			const yyr532 bool = false
			yyq532[2] = x.ReadOnly != false
			var yynn532 int
			if yyr532 || yy2arr532 {
				r.EncodeArrayStart(3)
			} else {
				yynn532 = 2
				for _, b := range yyq532 {
					if b {
						yynn532++
					}
				}
				r.EncodeMapStart(yynn532)
				yynn532 = 0
			}
			if yyr532 || yy2arr532 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym534 := z.EncBinary()
				_ = yym534
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("endpoints"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym535 := z.EncBinary()
				_ = yym535
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			}
			if yyr532 || yy2arr532 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym537 := z.EncBinary()
				_ = yym537
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym538 := z.EncBinary()
				_ = yym538
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr532 || yy2arr532 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq532[2] {
					yym540 := z.EncBinary()
					_ = yym540
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq532[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym541 := z.EncBinary()
					_ = yym541
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr532 || yy2arr532 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GlusterfsVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym542 := z.DecBinary()
	_ = yym542
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct543 := r.ContainerType()
		if yyct543 == codecSelferValueTypeMap1234 {
			yyl543 := r.ReadMapStart()
			if yyl543 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl543, d)
			}
		} else if yyct543 == codecSelferValueTypeArray1234 {
			yyl543 := r.ReadArrayStart()
			if yyl543 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl543, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GlusterfsVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys544Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys544Slc
	var yyhl544 bool = l >= 0
	for yyj544 := 0; ; yyj544++ {
		if yyhl544 {
			if yyj544 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys544Slc = r.DecodeBytes(yys544Slc, true, true)
		yys544 := string(yys544Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys544 {
		case "endpoints":
			if r.TryDecodeAsNil() {
				x.EndpointsName = ""
			} else {
				x.EndpointsName = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys544)
		} // end switch yys544
	} // end for yyj544
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GlusterfsVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj548 int
	var yyb548 bool
	var yyhl548 bool = l >= 0
	yyj548++
	if yyhl548 {
		yyb548 = yyj548 > l
	} else {
		yyb548 = r.CheckBreak()
	}
	if yyb548 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.EndpointsName = ""
	} else {
		x.EndpointsName = string(r.DecodeString())
	}
	yyj548++
	if yyhl548 {
		yyb548 = yyj548 > l
	} else {
		yyb548 = r.CheckBreak()
	}
	if yyb548 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj548++
	if yyhl548 {
		yyb548 = yyj548 > l
	} else {
		yyb548 = r.CheckBreak()
	}
	if yyb548 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj548++
		if yyhl548 {
			yyb548 = yyj548 > l
		} else {
			yyb548 = r.CheckBreak()
		}
		if yyb548 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj548-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *RBDVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym552 := z.EncBinary()
		_ = yym552
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep553 := !z.EncBinary()
			yy2arr553 := z.EncBasicHandle().StructToArray
			var yyq553 [8]bool
			_, _, _ = yysep553, yyq553, yy2arr553
			const yyr553 bool = false
			yyq553[2] = x.FSType != ""
			yyq553[7] = x.ReadOnly != false
			var yynn553 int
			if yyr553 || yy2arr553 {
				r.EncodeArrayStart(8)
			} else {
				yynn553 = 6
				for _, b := range yyq553 {
					if b {
						yynn553++
					}
				}
				r.EncodeMapStart(yynn553)
				yynn553 = 0
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym555 := z.EncBinary()
					_ = yym555
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym556 := z.EncBinary()
					_ = yym556
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym558 := z.EncBinary()
				_ = yym558
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym559 := z.EncBinary()
				_ = yym559
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq553[2] {
					yym561 := z.EncBinary()
					_ = yym561
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq553[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym562 := z.EncBinary()
					_ = yym562
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym564 := z.EncBinary()
				_ = yym564
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("pool"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym565 := z.EncBinary()
				_ = yym565
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
				}
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym567 := z.EncBinary()
				_ = yym567
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("user"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym568 := z.EncBinary()
				_ = yym568
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
				}
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym570 := z.EncBinary()
				_ = yym570
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("keyring"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym571 := z.EncBinary()
				_ = yym571
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
				}
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SecretRef == nil {
					r.EncodeNil()
				} else {
					x.SecretRef.CodecEncodeSelf(e)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.SecretRef == nil {
					r.EncodeNil()
				} else {
					x.SecretRef.CodecEncodeSelf(e)
				}
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq553[7] {
					yym574 := z.EncBinary()
					_ = yym574
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq553[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym575 := z.EncBinary()
					_ = yym575
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr553 || yy2arr553 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *RBDVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym576 := z.DecBinary()
	_ = yym576
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct577 := r.ContainerType()
		if yyct577 == codecSelferValueTypeMap1234 {
			yyl577 := r.ReadMapStart()
			if yyl577 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl577, d)
			}
		} else if yyct577 == codecSelferValueTypeArray1234 {
			yyl577 := r.ReadArrayStart()
			if yyl577 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl577, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *RBDVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys578Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys578Slc
	var yyhl578 bool = l >= 0
	for yyj578 := 0; ; yyj578++ {
		if yyhl578 {
			if yyj578 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys578Slc = r.DecodeBytes(yys578Slc, true, true)
		yys578 := string(yys578Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys578 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.CephMonitors = nil
			} else {
				yyv579 := &x.CephMonitors
				yym580 := z.DecBinary()
				_ = yym580
				if false {
				} else {
					z.F.DecSliceStringX(yyv579, false, d)
				}
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.RBDImage = ""
			} else {
				x.RBDImage = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "pool":
			if r.TryDecodeAsNil() {
				x.RBDPool = ""
			} else {
				x.RBDPool = string(r.DecodeString())
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.RadosUser = ""
			} else {
				x.RadosUser = string(r.DecodeString())
			}
		case "keyring":
			if r.TryDecodeAsNil() {
				x.Keyring = ""
			} else {
				x.Keyring = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys578)
		} // end switch yys578
	} // end for yyj578
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *RBDVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj588 int
	var yyb588 bool
	var yyhl588 bool = l >= 0
	yyj588++
	if yyhl588 {
		yyb588 = yyj588 > l
	} else {
		yyb588 = r.CheckBreak()
	}
	if yyb588 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CephMonitors = nil
	} else {
		yyv589 := &x.CephMonitors
		yym590 := z.DecBinary()
		_ = yym590
		if false {
		} else {
			z.F.DecSliceStringX(yyv589, false, d)
		}
	}
	yyj588++
	if yyhl588 {
		yyb588 = yyj588 > l
	} else {
		yyb588 = r.CheckBreak()
	}
	if yyb588 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDImage = ""
	} else {
		x.RBDImage = string(r.DecodeString())
	}
	yyj588++
	if yyhl588 {
		yyb588 = yyj588 > l
	} else {
		yyb588 = r.CheckBreak()
	}
	if yyb588 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj588++
	if yyhl588 {
		yyb588 = yyj588 > l
	} else {
		yyb588 = r.CheckBreak()
	}
	if yyb588 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDPool = ""
	} else {
		x.RBDPool = string(r.DecodeString())
	}
	yyj588++
	if yyhl588 {
		yyb588 = yyj588 > l
	} else {
		yyb588 = r.CheckBreak()
	}
	if yyb588 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RadosUser = ""
	} else {
		x.RadosUser = string(r.DecodeString())
	}
	yyj588++
	if yyhl588 {
		yyb588 = yyj588 > l
	} else {
		yyb588 = r.CheckBreak()
	}
	if yyb588 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Keyring = ""
	} else {
		x.Keyring = string(r.DecodeString())
	}
	yyj588++
	if yyhl588 {
		yyb588 = yyj588 > l
	} else {
		yyb588 = r.CheckBreak()
	}
	if yyb588 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj588++
	if yyhl588 {
		yyb588 = yyj588 > l
	} else {
		yyb588 = r.CheckBreak()
	}
	if yyb588 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj588++
		if yyhl588 {
			yyb588 = yyj588 > l
		} else {
			yyb588 = r.CheckBreak()
		}
		if yyb588 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj588-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *CinderVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym598 := z.EncBinary()
		_ = yym598
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep599 := !z.EncBinary()
			yy2arr599 := z.EncBasicHandle().StructToArray
			var yyq599 [3]bool
			_, _, _ = yysep599, yyq599, yy2arr599
			const yyr599 bool = false
			yyq599[1] = x.FSType != ""
			yyq599[2] = x.ReadOnly != false
			var yynn599 int
			if yyr599 || yy2arr599 {
				r.EncodeArrayStart(3)
			} else {
				yynn599 = 1
				for _, b := range yyq599 {
					if b {
						yynn599++
					}
				}
				r.EncodeMapStart(yynn599)
				yynn599 = 0
			}
			if yyr599 || yy2arr599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym601 := z.EncBinary()
				_ = yym601
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym602 := z.EncBinary()
				_ = yym602
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr599 || yy2arr599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq599[1] {
					yym604 := z.EncBinary()
					_ = yym604
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq599[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym605 := z.EncBinary()
					_ = yym605
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr599 || yy2arr599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq599[2] {
					yym607 := z.EncBinary()
					_ = yym607
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq599[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym608 := z.EncBinary()
					_ = yym608
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr599 || yy2arr599 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *CinderVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym609 := z.DecBinary()
	_ = yym609
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct610 := r.ContainerType()
		if yyct610 == codecSelferValueTypeMap1234 {
			yyl610 := r.ReadMapStart()
			if yyl610 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl610, d)
			}
		} else if yyct610 == codecSelferValueTypeArray1234 {
			yyl610 := r.ReadArrayStart()
			if yyl610 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl610, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *CinderVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys611Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys611Slc
	var yyhl611 bool = l >= 0
	for yyj611 := 0; ; yyj611++ {
		if yyhl611 {
			if yyj611 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys611Slc = r.DecodeBytes(yys611Slc, true, true)
		yys611 := string(yys611Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys611 {
		case "volumeID":
			if r.TryDecodeAsNil() {
				x.VolumeID = ""
			} else {
				x.VolumeID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys611)
		} // end switch yys611
	} // end for yyj611
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *CinderVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj615 int
	var yyb615 bool
	var yyhl615 bool = l >= 0
	yyj615++
	if yyhl615 {
		yyb615 = yyj615 > l
	} else {
		yyb615 = r.CheckBreak()
	}
	if yyb615 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj615++
	if yyhl615 {
		yyb615 = yyj615 > l
	} else {
		yyb615 = r.CheckBreak()
	}
	if yyb615 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj615++
	if yyhl615 {
		yyb615 = yyj615 > l
	} else {
		yyb615 = r.CheckBreak()
	}
	if yyb615 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj615++
		if yyhl615 {
			yyb615 = yyj615 > l
		} else {
			yyb615 = r.CheckBreak()
		}
		if yyb615 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj615-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *CephFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym619 := z.EncBinary()
		_ = yym619
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep620 := !z.EncBinary()
			yy2arr620 := z.EncBasicHandle().StructToArray
			var yyq620 [5]bool
			_, _, _ = yysep620, yyq620, yy2arr620
			const yyr620 bool = false
			yyq620[1] = x.User != ""
			yyq620[2] = x.SecretFile != ""
			yyq620[3] = x.SecretRef != nil
			yyq620[4] = x.ReadOnly != false
			var yynn620 int
			if yyr620 || yy2arr620 {
				r.EncodeArrayStart(5)
			} else {
				yynn620 = 1
				for _, b := range yyq620 {
					if b {
						yynn620++
					}
				}
				r.EncodeMapStart(yynn620)
				yynn620 = 0
			}
			if yyr620 || yy2arr620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym622 := z.EncBinary()
					_ = yym622
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym623 := z.EncBinary()
					_ = yym623
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			}
			if yyr620 || yy2arr620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq620[1] {
					yym625 := z.EncBinary()
					_ = yym625
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq620[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym626 := z.EncBinary()
					_ = yym626
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr620 || yy2arr620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq620[2] {
					yym628 := z.EncBinary()
					_ = yym628
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq620[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym629 := z.EncBinary()
					_ = yym629
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				}
			}
			if yyr620 || yy2arr620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq620[3] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq620[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr620 || yy2arr620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq620[4] {
					yym632 := z.EncBinary()
					_ = yym632
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq620[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym633 := z.EncBinary()
					_ = yym633
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr620 || yy2arr620 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *CephFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym634 := z.DecBinary()
	_ = yym634
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct635 := r.ContainerType()
		if yyct635 == codecSelferValueTypeMap1234 {
			yyl635 := r.ReadMapStart()
			if yyl635 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl635, d)
			}
		} else if yyct635 == codecSelferValueTypeArray1234 {
			yyl635 := r.ReadArrayStart()
			if yyl635 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl635, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *CephFSVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys636Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys636Slc
	var yyhl636 bool = l >= 0
	for yyj636 := 0; ; yyj636++ {
		if yyhl636 {
			if yyj636 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys636Slc = r.DecodeBytes(yys636Slc, true, true)
		yys636 := string(yys636Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys636 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.Monitors = nil
			} else {
				yyv637 := &x.Monitors
				yym638 := z.DecBinary()
				_ = yym638
				if false {
				} else {
					z.F.DecSliceStringX(yyv637, false, d)
				}
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "secretFile":
			if r.TryDecodeAsNil() {
				x.SecretFile = ""
			} else {
				x.SecretFile = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys636)
		} // end switch yys636
	} // end for yyj636
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *CephFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj643 int
	var yyb643 bool
	var yyhl643 bool = l >= 0
	yyj643++
	if yyhl643 {
		yyb643 = yyj643 > l
	} else {
		yyb643 = r.CheckBreak()
	}
	if yyb643 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Monitors = nil
	} else {
		yyv644 := &x.Monitors
		yym645 := z.DecBinary()
		_ = yym645
		if false {
		} else {
			z.F.DecSliceStringX(yyv644, false, d)
		}
	}
	yyj643++
	if yyhl643 {
		yyb643 = yyj643 > l
	} else {
		yyb643 = r.CheckBreak()
	}
	if yyb643 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj643++
	if yyhl643 {
		yyb643 = yyj643 > l
	} else {
		yyb643 = r.CheckBreak()
	}
	if yyb643 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretFile = ""
	} else {
		x.SecretFile = string(r.DecodeString())
	}
	yyj643++
	if yyhl643 {
		yyb643 = yyj643 > l
	} else {
		yyb643 = r.CheckBreak()
	}
	if yyb643 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj643++
	if yyhl643 {
		yyb643 = yyj643 > l
	} else {
		yyb643 = r.CheckBreak()
	}
	if yyb643 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj643++
		if yyhl643 {
			yyb643 = yyj643 > l
		} else {
			yyb643 = r.CheckBreak()
		}
		if yyb643 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj643-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FlockerVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym650 := z.EncBinary()
		_ = yym650
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep651 := !z.EncBinary()
			yy2arr651 := z.EncBasicHandle().StructToArray
			var yyq651 [1]bool
			_, _, _ = yysep651, yyq651, yy2arr651
			const yyr651 bool = false
			var yynn651 int
			if yyr651 || yy2arr651 {
				r.EncodeArrayStart(1)
			} else {
				yynn651 = 1
				for _, b := range yyq651 {
					if b {
						yynn651++
					}
				}
				r.EncodeMapStart(yynn651)
				yynn651 = 0
			}
			if yyr651 || yy2arr651 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym653 := z.EncBinary()
				_ = yym653
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("datasetName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym654 := z.EncBinary()
				_ = yym654
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
				}
			}
			if yyr651 || yy2arr651 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FlockerVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym655 := z.DecBinary()
	_ = yym655
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct656 := r.ContainerType()
		if yyct656 == codecSelferValueTypeMap1234 {
			yyl656 := r.ReadMapStart()
			if yyl656 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl656, d)
			}
		} else if yyct656 == codecSelferValueTypeArray1234 {
			yyl656 := r.ReadArrayStart()
			if yyl656 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl656, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FlockerVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys657Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys657Slc
	var yyhl657 bool = l >= 0
	for yyj657 := 0; ; yyj657++ {
		if yyhl657 {
			if yyj657 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys657Slc = r.DecodeBytes(yys657Slc, true, true)
		yys657 := string(yys657Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys657 {
		case "datasetName":
			if r.TryDecodeAsNil() {
				x.DatasetName = ""
			} else {
				x.DatasetName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys657)
		} // end switch yys657
	} // end for yyj657
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FlockerVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj659 int
	var yyb659 bool
	var yyhl659 bool = l >= 0
	yyj659++
	if yyhl659 {
		yyb659 = yyj659 > l
	} else {
		yyb659 = r.CheckBreak()
	}
	if yyb659 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DatasetName = ""
	} else {
		x.DatasetName = string(r.DecodeString())
	}
	for {
		yyj659++
		if yyhl659 {
			yyb659 = yyj659 > l
		} else {
			yyb659 = r.CheckBreak()
		}
		if yyb659 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj659-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x StorageMedium) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym661 := z.EncBinary()
	_ = yym661
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *StorageMedium) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym662 := z.DecBinary()
	_ = yym662
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x Protocol) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym663 := z.EncBinary()
	_ = yym663
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *Protocol) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym664 := z.DecBinary()
	_ = yym664
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym665 := z.EncBinary()
		_ = yym665
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep666 := !z.EncBinary()
			yy2arr666 := z.EncBasicHandle().StructToArray
			var yyq666 [4]bool
			_, _, _ = yysep666, yyq666, yy2arr666
			const yyr666 bool = false
			yyq666[2] = x.Partition != 0
			yyq666[3] = x.ReadOnly != false
			var yynn666 int
			if yyr666 || yy2arr666 {
				r.EncodeArrayStart(4)
			} else {
				yynn666 = 2
				for _, b := range yyq666 {
					if b {
						yynn666++
					}
				}
				r.EncodeMapStart(yynn666)
				yynn666 = 0
			}
			if yyr666 || yy2arr666 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym668 := z.EncBinary()
				_ = yym668
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("pdName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym669 := z.EncBinary()
				_ = yym669
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			}
			if yyr666 || yy2arr666 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym671 := z.EncBinary()
				_ = yym671
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym672 := z.EncBinary()
				_ = yym672
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr666 || yy2arr666 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq666[2] {
					yym674 := z.EncBinary()
					_ = yym674
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq666[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym675 := z.EncBinary()
					_ = yym675
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr666 || yy2arr666 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq666[3] {
					yym677 := z.EncBinary()
					_ = yym677
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq666[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym678 := z.EncBinary()
					_ = yym678
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr666 || yy2arr666 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym679 := z.DecBinary()
	_ = yym679
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct680 := r.ContainerType()
		if yyct680 == codecSelferValueTypeMap1234 {
			yyl680 := r.ReadMapStart()
			if yyl680 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl680, d)
			}
		} else if yyct680 == codecSelferValueTypeArray1234 {
			yyl680 := r.ReadArrayStart()
			if yyl680 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl680, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys681Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys681Slc
	var yyhl681 bool = l >= 0
	for yyj681 := 0; ; yyj681++ {
		if yyhl681 {
			if yyj681 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys681Slc = r.DecodeBytes(yys681Slc, true, true)
		yys681 := string(yys681Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys681 {
		case "pdName":
			if r.TryDecodeAsNil() {
				x.PDName = ""
			} else {
				x.PDName = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "partition":
			if r.TryDecodeAsNil() {
				x.Partition = 0
			} else {
				x.Partition = int32(r.DecodeInt(32))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys681)
		} // end switch yys681
	} // end for yyj681
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj686 int
	var yyb686 bool
	var yyhl686 bool = l >= 0
	yyj686++
	if yyhl686 {
		yyb686 = yyj686 > l
	} else {
		yyb686 = r.CheckBreak()
	}
	if yyb686 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PDName = ""
	} else {
		x.PDName = string(r.DecodeString())
	}
	yyj686++
	if yyhl686 {
		yyb686 = yyj686 > l
	} else {
		yyb686 = r.CheckBreak()
	}
	if yyb686 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj686++
	if yyhl686 {
		yyb686 = yyj686 > l
	} else {
		yyb686 = r.CheckBreak()
	}
	if yyb686 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int32(r.DecodeInt(32))
	}
	yyj686++
	if yyhl686 {
		yyb686 = yyj686 > l
	} else {
		yyb686 = r.CheckBreak()
	}
	if yyb686 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj686++
		if yyhl686 {
			yyb686 = yyj686 > l
		} else {
			yyb686 = r.CheckBreak()
		}
		if yyb686 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj686-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FlexVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym691 := z.EncBinary()
		_ = yym691
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep692 := !z.EncBinary()
			yy2arr692 := z.EncBasicHandle().StructToArray
			var yyq692 [5]bool
			_, _, _ = yysep692, yyq692, yy2arr692
			const yyr692 bool = false
			yyq692[1] = x.FSType != ""
			yyq692[2] = x.SecretRef != nil
			yyq692[3] = x.ReadOnly != false
			yyq692[4] = len(x.Options) != 0
			var yynn692 int
			if yyr692 || yy2arr692 {
				r.EncodeArrayStart(5)
			} else {
				yynn692 = 1
				for _, b := range yyq692 {
					if b {
						yynn692++
					}
				}
				r.EncodeMapStart(yynn692)
				yynn692 = 0
			}
			if yyr692 || yy2arr692 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym694 := z.EncBinary()
				_ = yym694
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Driver))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("driver"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym695 := z.EncBinary()
				_ = yym695
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Driver))
				}
			}
			if yyr692 || yy2arr692 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq692[1] {
					yym697 := z.EncBinary()
					_ = yym697
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq692[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym698 := z.EncBinary()
					_ = yym698
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr692 || yy2arr692 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq692[2] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq692[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr692 || yy2arr692 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq692[3] {
					yym701 := z.EncBinary()
					_ = yym701
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq692[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym702 := z.EncBinary()
					_ = yym702
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr692 || yy2arr692 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq692[4] {
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym704 := z.EncBinary()
						_ = yym704
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq692[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("options"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym705 := z.EncBinary()
						_ = yym705
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				}
			}
			if yyr692 || yy2arr692 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FlexVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym706 := z.DecBinary()
	_ = yym706
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct707 := r.ContainerType()
		if yyct707 == codecSelferValueTypeMap1234 {
			yyl707 := r.ReadMapStart()
			if yyl707 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl707, d)
			}
		} else if yyct707 == codecSelferValueTypeArray1234 {
			yyl707 := r.ReadArrayStart()
			if yyl707 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl707, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FlexVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys708Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys708Slc
	var yyhl708 bool = l >= 0
	for yyj708 := 0; ; yyj708++ {
		if yyhl708 {
			if yyj708 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys708Slc = r.DecodeBytes(yys708Slc, true, true)
		yys708 := string(yys708Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys708 {
		case "driver":
			if r.TryDecodeAsNil() {
				x.Driver = ""
			} else {
				x.Driver = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "options":
			if r.TryDecodeAsNil() {
				x.Options = nil
			} else {
				yyv713 := &x.Options
				yym714 := z.DecBinary()
				_ = yym714
				if false {
				} else {
					z.F.DecMapStringStringX(yyv713, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys708)
		} // end switch yys708
	} // end for yyj708
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FlexVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj715 int
	var yyb715 bool
	var yyhl715 bool = l >= 0
	yyj715++
	if yyhl715 {
		yyb715 = yyj715 > l
	} else {
		yyb715 = r.CheckBreak()
	}
	if yyb715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Driver = ""
	} else {
		x.Driver = string(r.DecodeString())
	}
	yyj715++
	if yyhl715 {
		yyb715 = yyj715 > l
	} else {
		yyb715 = r.CheckBreak()
	}
	if yyb715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj715++
	if yyhl715 {
		yyb715 = yyj715 > l
	} else {
		yyb715 = r.CheckBreak()
	}
	if yyb715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj715++
	if yyhl715 {
		yyb715 = yyj715 > l
	} else {
		yyb715 = r.CheckBreak()
	}
	if yyb715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj715++
	if yyhl715 {
		yyb715 = yyj715 > l
	} else {
		yyb715 = r.CheckBreak()
	}
	if yyb715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Options = nil
	} else {
		yyv720 := &x.Options
		yym721 := z.DecBinary()
		_ = yym721
		if false {
		} else {
			z.F.DecMapStringStringX(yyv720, false, d)
		}
	}
	for {
		yyj715++
		if yyhl715 {
			yyb715 = yyj715 > l
		} else {
			yyb715 = r.CheckBreak()
		}
		if yyb715 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj715-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *AWSElasticBlockStoreVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym722 := z.EncBinary()
		_ = yym722
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep723 := !z.EncBinary()
			yy2arr723 := z.EncBasicHandle().StructToArray
			var yyq723 [4]bool
			_, _, _ = yysep723, yyq723, yy2arr723
			const yyr723 bool = false
			yyq723[2] = x.Partition != 0
			yyq723[3] = x.ReadOnly != false
			var yynn723 int
			if yyr723 || yy2arr723 {
				r.EncodeArrayStart(4)
			} else {
				yynn723 = 2
				for _, b := range yyq723 {
					if b {
						yynn723++
					}
				}
				r.EncodeMapStart(yynn723)
				yynn723 = 0
			}
			if yyr723 || yy2arr723 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym725 := z.EncBinary()
				_ = yym725
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym726 := z.EncBinary()
				_ = yym726
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr723 || yy2arr723 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym728 := z.EncBinary()
				_ = yym728
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym729 := z.EncBinary()
				_ = yym729
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr723 || yy2arr723 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq723[2] {
					yym731 := z.EncBinary()
					_ = yym731
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq723[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym732 := z.EncBinary()
					_ = yym732
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr723 || yy2arr723 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq723[3] {
					yym734 := z.EncBinary()
					_ = yym734
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq723[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym735 := z.EncBinary()
					_ = yym735
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr723 || yy2arr723 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym736 := z.DecBinary()
	_ = yym736
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct737 := r.ContainerType()
		if yyct737 == codecSelferValueTypeMap1234 {
			yyl737 := r.ReadMapStart()
			if yyl737 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl737, d)
			}
		} else if yyct737 == codecSelferValueTypeArray1234 {
			yyl737 := r.ReadArrayStart()
			if yyl737 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl737, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys738Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys738Slc
	var yyhl738 bool = l >= 0
	for yyj738 := 0; ; yyj738++ {
		if yyhl738 {
			if yyj738 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys738Slc = r.DecodeBytes(yys738Slc, true, true)
		yys738 := string(yys738Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys738 {
		case "volumeID":
			if r.TryDecodeAsNil() {
				x.VolumeID = ""
			} else {
				x.VolumeID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "partition":
			if r.TryDecodeAsNil() {
				x.Partition = 0
			} else {
				x.Partition = int32(r.DecodeInt(32))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys738)
		} // end switch yys738
	} // end for yyj738
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj743 int
	var yyb743 bool
	var yyhl743 bool = l >= 0
	yyj743++
	if yyhl743 {
		yyb743 = yyj743 > l
	} else {
		yyb743 = r.CheckBreak()
	}
	if yyb743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj743++
	if yyhl743 {
		yyb743 = yyj743 > l
	} else {
		yyb743 = r.CheckBreak()
	}
	if yyb743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj743++
	if yyhl743 {
		yyb743 = yyj743 > l
	} else {
		yyb743 = r.CheckBreak()
	}
	if yyb743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int32(r.DecodeInt(32))
	}
	yyj743++
	if yyhl743 {
		yyb743 = yyj743 > l
	} else {
		yyb743 = r.CheckBreak()
	}
	if yyb743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj743++
		if yyhl743 {
			yyb743 = yyj743 > l
		} else {
			yyb743 = r.CheckBreak()
		}
		if yyb743 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj743-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *GitRepoVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym748 := z.EncBinary()
		_ = yym748
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep749 := !z.EncBinary()
			yy2arr749 := z.EncBasicHandle().StructToArray
			var yyq749 [3]bool
			_, _, _ = yysep749, yyq749, yy2arr749
			const yyr749 bool = false
			yyq749[1] = x.Revision != ""
			yyq749[2] = x.Directory != ""
			var yynn749 int
			if yyr749 || yy2arr749 {
				r.EncodeArrayStart(3)
			} else {
				yynn749 = 1
				for _, b := range yyq749 {
					if b {
						yynn749++
					}
				}
				r.EncodeMapStart(yynn749)
				yynn749 = 0
			}
			if yyr749 || yy2arr749 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym751 := z.EncBinary()
				_ = yym751
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("repository"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym752 := z.EncBinary()
				_ = yym752
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			}
			if yyr749 || yy2arr749 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq749[1] {
					yym754 := z.EncBinary()
					_ = yym754
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq749[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("revision"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym755 := z.EncBinary()
					_ = yym755
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				}
			}
			if yyr749 || yy2arr749 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq749[2] {
					yym757 := z.EncBinary()
					_ = yym757
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq749[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("directory"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym758 := z.EncBinary()
					_ = yym758
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				}
			}
			if yyr749 || yy2arr749 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GitRepoVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym759 := z.DecBinary()
	_ = yym759
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct760 := r.ContainerType()
		if yyct760 == codecSelferValueTypeMap1234 {
			yyl760 := r.ReadMapStart()
			if yyl760 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl760, d)
			}
		} else if yyct760 == codecSelferValueTypeArray1234 {
			yyl760 := r.ReadArrayStart()
			if yyl760 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl760, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GitRepoVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys761Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys761Slc
	var yyhl761 bool = l >= 0
	for yyj761 := 0; ; yyj761++ {
		if yyhl761 {
			if yyj761 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys761Slc = r.DecodeBytes(yys761Slc, true, true)
		yys761 := string(yys761Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys761 {
		case "repository":
			if r.TryDecodeAsNil() {
				x.Repository = ""
			} else {
				x.Repository = string(r.DecodeString())
			}
		case "revision":
			if r.TryDecodeAsNil() {
				x.Revision = ""
			} else {
				x.Revision = string(r.DecodeString())
			}
		case "directory":
			if r.TryDecodeAsNil() {
				x.Directory = ""
			} else {
				x.Directory = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys761)
		} // end switch yys761
	} // end for yyj761
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GitRepoVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj765 int
	var yyb765 bool
	var yyhl765 bool = l >= 0
	yyj765++
	if yyhl765 {
		yyb765 = yyj765 > l
	} else {
		yyb765 = r.CheckBreak()
	}
	if yyb765 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Repository = ""
	} else {
		x.Repository = string(r.DecodeString())
	}
	yyj765++
	if yyhl765 {
		yyb765 = yyj765 > l
	} else {
		yyb765 = r.CheckBreak()
	}
	if yyb765 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Revision = ""
	} else {
		x.Revision = string(r.DecodeString())
	}
	yyj765++
	if yyhl765 {
		yyb765 = yyj765 > l
	} else {
		yyb765 = r.CheckBreak()
	}
	if yyb765 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Directory = ""
	} else {
		x.Directory = string(r.DecodeString())
	}
	for {
		yyj765++
		if yyhl765 {
			yyb765 = yyj765 > l
		} else {
			yyb765 = r.CheckBreak()
		}
		if yyb765 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj765-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym769 := z.EncBinary()
		_ = yym769
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep770 := !z.EncBinary()
			yy2arr770 := z.EncBasicHandle().StructToArray
			var yyq770 [1]bool
			_, _, _ = yysep770, yyq770, yy2arr770
			const yyr770 bool = false
			yyq770[0] = x.SecretName != ""
			var yynn770 int
			if yyr770 || yy2arr770 {
				r.EncodeArrayStart(1)
			} else {
				yynn770 = 0
				for _, b := range yyq770 {
					if b {
						yynn770++
					}
				}
				r.EncodeMapStart(yynn770)
				yynn770 = 0
			}
			if yyr770 || yy2arr770 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq770[0] {
					yym772 := z.EncBinary()
					_ = yym772
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq770[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym773 := z.EncBinary()
					_ = yym773
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				}
			}
			if yyr770 || yy2arr770 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym774 := z.DecBinary()
	_ = yym774
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct775 := r.ContainerType()
		if yyct775 == codecSelferValueTypeMap1234 {
			yyl775 := r.ReadMapStart()
			if yyl775 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl775, d)
			}
		} else if yyct775 == codecSelferValueTypeArray1234 {
			yyl775 := r.ReadArrayStart()
			if yyl775 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl775, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys776Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys776Slc
	var yyhl776 bool = l >= 0
	for yyj776 := 0; ; yyj776++ {
		if yyhl776 {
			if yyj776 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys776Slc = r.DecodeBytes(yys776Slc, true, true)
		yys776 := string(yys776Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys776 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys776)
		} // end switch yys776
	} // end for yyj776
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj778 int
	var yyb778 bool
	var yyhl778 bool = l >= 0
	yyj778++
	if yyhl778 {
		yyb778 = yyj778 > l
	} else {
		yyb778 = r.CheckBreak()
	}
	if yyb778 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	for {
		yyj778++
		if yyhl778 {
			yyb778 = yyj778 > l
		} else {
			yyb778 = r.CheckBreak()
		}
		if yyb778 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj778-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym780 := z.EncBinary()
		_ = yym780
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep781 := !z.EncBinary()
			yy2arr781 := z.EncBasicHandle().StructToArray
			var yyq781 [3]bool
			_, _, _ = yysep781, yyq781, yy2arr781
			const yyr781 bool = false
			yyq781[2] = x.ReadOnly != false
			var yynn781 int
			if yyr781 || yy2arr781 {
				r.EncodeArrayStart(3)
			} else {
				yynn781 = 2
				for _, b := range yyq781 {
					if b {
						yynn781++
					}
				}
				r.EncodeMapStart(yynn781)
				yynn781 = 0
			}
			if yyr781 || yy2arr781 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym783 := z.EncBinary()
				_ = yym783
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("server"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym784 := z.EncBinary()
				_ = yym784
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			}
			if yyr781 || yy2arr781 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym786 := z.EncBinary()
				_ = yym786
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym787 := z.EncBinary()
				_ = yym787
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr781 || yy2arr781 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq781[2] {
					yym789 := z.EncBinary()
					_ = yym789
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq781[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym790 := z.EncBinary()
					_ = yym790
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr781 || yy2arr781 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym791 := z.DecBinary()
	_ = yym791
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct792 := r.ContainerType()
		if yyct792 == codecSelferValueTypeMap1234 {
			yyl792 := r.ReadMapStart()
			if yyl792 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl792, d)
			}
		} else if yyct792 == codecSelferValueTypeArray1234 {
			yyl792 := r.ReadArrayStart()
			if yyl792 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl792, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NFSVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys793Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys793Slc
	var yyhl793 bool = l >= 0
	for yyj793 := 0; ; yyj793++ {
		if yyhl793 {
			if yyj793 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys793Slc = r.DecodeBytes(yys793Slc, true, true)
		yys793 := string(yys793Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys793 {
		case "server":
			if r.TryDecodeAsNil() {
				x.Server = ""
			} else {
				x.Server = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys793)
		} // end switch yys793
	} // end for yyj793
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj797 int
	var yyb797 bool
	var yyhl797 bool = l >= 0
	yyj797++
	if yyhl797 {
		yyb797 = yyj797 > l
	} else {
		yyb797 = r.CheckBreak()
	}
	if yyb797 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Server = ""
	} else {
		x.Server = string(r.DecodeString())
	}
	yyj797++
	if yyhl797 {
		yyb797 = yyj797 > l
	} else {
		yyb797 = r.CheckBreak()
	}
	if yyb797 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj797++
	if yyhl797 {
		yyb797 = yyj797 > l
	} else {
		yyb797 = r.CheckBreak()
	}
	if yyb797 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj797++
		if yyhl797 {
			yyb797 = yyj797 > l
		} else {
			yyb797 = r.CheckBreak()
		}
		if yyb797 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj797-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ISCSIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym801 := z.EncBinary()
		_ = yym801
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep802 := !z.EncBinary()
			yy2arr802 := z.EncBasicHandle().StructToArray
			var yyq802 [6]bool
			_, _, _ = yysep802, yyq802, yy2arr802
			const yyr802 bool = false
			yyq802[3] = x.ISCSIInterface != ""
			yyq802[5] = x.ReadOnly != false
			var yynn802 int
			if yyr802 || yy2arr802 {
				r.EncodeArrayStart(6)
			} else {
				yynn802 = 4
				for _, b := range yyq802 {
					if b {
						yynn802++
					}
				}
				r.EncodeMapStart(yynn802)
				yynn802 = 0
			}
			if yyr802 || yy2arr802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym804 := z.EncBinary()
				_ = yym804
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("targetPortal"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym805 := z.EncBinary()
				_ = yym805
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
				}
			}
			if yyr802 || yy2arr802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym807 := z.EncBinary()
				_ = yym807
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("iqn"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym808 := z.EncBinary()
				_ = yym808
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
				}
			}
			if yyr802 || yy2arr802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym810 := z.EncBinary()
				_ = yym810
				if false {
				} else {
					r.EncodeInt(int64(x.Lun))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym811 := z.EncBinary()
				_ = yym811
				if false {
				} else {
					r.EncodeInt(int64(x.Lun))
				}
			}
			if yyr802 || yy2arr802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq802[3] {
					yym813 := z.EncBinary()
					_ = yym813
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq802[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsiInterface"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym814 := z.EncBinary()
					_ = yym814
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				}
			}
			if yyr802 || yy2arr802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym816 := z.EncBinary()
				_ = yym816
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym817 := z.EncBinary()
				_ = yym817
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr802 || yy2arr802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq802[5] {
					yym819 := z.EncBinary()
					_ = yym819
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq802[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym820 := z.EncBinary()
					_ = yym820
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr802 || yy2arr802 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ISCSIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym821 := z.DecBinary()
	_ = yym821
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct822 := r.ContainerType()
		if yyct822 == codecSelferValueTypeMap1234 {
			yyl822 := r.ReadMapStart()
			if yyl822 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl822, d)
			}
		} else if yyct822 == codecSelferValueTypeArray1234 {
			yyl822 := r.ReadArrayStart()
			if yyl822 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl822, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys823Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys823Slc
	var yyhl823 bool = l >= 0
	for yyj823 := 0; ; yyj823++ {
		if yyhl823 {
			if yyj823 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys823Slc = r.DecodeBytes(yys823Slc, true, true)
		yys823 := string(yys823Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys823 {
		case "targetPortal":
			if r.TryDecodeAsNil() {
				x.TargetPortal = ""
			} else {
				x.TargetPortal = string(r.DecodeString())
			}
		case "iqn":
			if r.TryDecodeAsNil() {
				x.IQN = ""
			} else {
				x.IQN = string(r.DecodeString())
			}
		case "lun":
			if r.TryDecodeAsNil() {
				x.Lun = 0
			} else {
				x.Lun = int32(r.DecodeInt(32))
			}
		case "iscsiInterface":
			if r.TryDecodeAsNil() {
				x.ISCSIInterface = ""
			} else {
				x.ISCSIInterface = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys823)
		} // end switch yys823
	} // end for yyj823
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj830 int
	var yyb830 bool
	var yyhl830 bool = l >= 0
	yyj830++
	if yyhl830 {
		yyb830 = yyj830 > l
	} else {
		yyb830 = r.CheckBreak()
	}
	if yyb830 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPortal = ""
	} else {
		x.TargetPortal = string(r.DecodeString())
	}
	yyj830++
	if yyhl830 {
		yyb830 = yyj830 > l
	} else {
		yyb830 = r.CheckBreak()
	}
	if yyb830 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IQN = ""
	} else {
		x.IQN = string(r.DecodeString())
	}
	yyj830++
	if yyhl830 {
		yyb830 = yyj830 > l
	} else {
		yyb830 = r.CheckBreak()
	}
	if yyb830 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Lun = 0
	} else {
		x.Lun = int32(r.DecodeInt(32))
	}
	yyj830++
	if yyhl830 {
		yyb830 = yyj830 > l
	} else {
		yyb830 = r.CheckBreak()
	}
	if yyb830 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ISCSIInterface = ""
	} else {
		x.ISCSIInterface = string(r.DecodeString())
	}
	yyj830++
	if yyhl830 {
		yyb830 = yyj830 > l
	} else {
		yyb830 = r.CheckBreak()
	}
	if yyb830 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj830++
	if yyhl830 {
		yyb830 = yyj830 > l
	} else {
		yyb830 = r.CheckBreak()
	}
	if yyb830 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj830++
		if yyhl830 {
			yyb830 = yyj830 > l
		} else {
			yyb830 = r.CheckBreak()
		}
		if yyb830 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj830-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FCVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym837 := z.EncBinary()
		_ = yym837
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep838 := !z.EncBinary()
			yy2arr838 := z.EncBasicHandle().StructToArray
			var yyq838 [4]bool
			_, _, _ = yysep838, yyq838, yy2arr838
			const yyr838 bool = false
			yyq838[3] = x.ReadOnly != false
			var yynn838 int
			if yyr838 || yy2arr838 {
				r.EncodeArrayStart(4)
			} else {
				yynn838 = 3
				for _, b := range yyq838 {
					if b {
						yynn838++
					}
				}
				r.EncodeMapStart(yynn838)
				yynn838 = 0
			}
			if yyr838 || yy2arr838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym840 := z.EncBinary()
					_ = yym840
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("targetWWNs"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym841 := z.EncBinary()
					_ = yym841
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			}
			if yyr838 || yy2arr838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy843 := *x.Lun
					yym844 := z.EncBinary()
					_ = yym844
					if false {
					} else {
						r.EncodeInt(int64(yy843))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy845 := *x.Lun
					yym846 := z.EncBinary()
					_ = yym846
					if false {
					} else {
						r.EncodeInt(int64(yy845))
					}
				}
			}
			if yyr838 || yy2arr838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym848 := z.EncBinary()
				_ = yym848
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym849 := z.EncBinary()
				_ = yym849
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr838 || yy2arr838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq838[3] {
					yym851 := z.EncBinary()
					_ = yym851
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq838[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym852 := z.EncBinary()
					_ = yym852
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr838 || yy2arr838 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FCVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym853 := z.DecBinary()
	_ = yym853
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct854 := r.ContainerType()
		if yyct854 == codecSelferValueTypeMap1234 {
			yyl854 := r.ReadMapStart()
			if yyl854 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl854, d)
			}
		} else if yyct854 == codecSelferValueTypeArray1234 {
			yyl854 := r.ReadArrayStart()
			if yyl854 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl854, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FCVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys855Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys855Slc
	var yyhl855 bool = l >= 0
	for yyj855 := 0; ; yyj855++ {
		if yyhl855 {
			if yyj855 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys855Slc = r.DecodeBytes(yys855Slc, true, true)
		yys855 := string(yys855Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys855 {
		case "targetWWNs":
			if r.TryDecodeAsNil() {
				x.TargetWWNs = nil
			} else {
				yyv856 := &x.TargetWWNs
				yym857 := z.DecBinary()
				_ = yym857
				if false {
				} else {
					z.F.DecSliceStringX(yyv856, false, d)
				}
			}
		case "lun":
			if r.TryDecodeAsNil() {
				if x.Lun != nil {
					x.Lun = nil
				}
			} else {
				if x.Lun == nil {
					x.Lun = new(int32)
				}
				yym859 := z.DecBinary()
				_ = yym859
				if false {
				} else {
					*((*int32)(x.Lun)) = int32(r.DecodeInt(32))
				}
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys855)
		} // end switch yys855
	} // end for yyj855
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FCVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj862 int
	var yyb862 bool
	var yyhl862 bool = l >= 0
	yyj862++
	if yyhl862 {
		yyb862 = yyj862 > l
	} else {
		yyb862 = r.CheckBreak()
	}
	if yyb862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetWWNs = nil
	} else {
		yyv863 := &x.TargetWWNs
		yym864 := z.DecBinary()
		_ = yym864
		if false {
		} else {
			z.F.DecSliceStringX(yyv863, false, d)
		}
	}
	yyj862++
	if yyhl862 {
		yyb862 = yyj862 > l
	} else {
		yyb862 = r.CheckBreak()
	}
	if yyb862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Lun != nil {
			x.Lun = nil
		}
	} else {
		if x.Lun == nil {
			x.Lun = new(int32)
		}
		yym866 := z.DecBinary()
		_ = yym866
		if false {
		} else {
			*((*int32)(x.Lun)) = int32(r.DecodeInt(32))
		}
	}
	yyj862++
	if yyhl862 {
		yyb862 = yyj862 > l
	} else {
		yyb862 = r.CheckBreak()
	}
	if yyb862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj862++
	if yyhl862 {
		yyb862 = yyj862 > l
	} else {
		yyb862 = r.CheckBreak()
	}
	if yyb862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj862++
		if yyhl862 {
			yyb862 = yyj862 > l
		} else {
			yyb862 = r.CheckBreak()
		}
		if yyb862 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj862-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym869 := z.EncBinary()
		_ = yym869
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep870 := !z.EncBinary()
			yy2arr870 := z.EncBasicHandle().StructToArray
			var yyq870 [5]bool
			_, _, _ = yysep870, yyq870, yy2arr870
			const yyr870 bool = false
			yyq870[0] = x.Name != ""
			yyq870[1] = x.HostPort != 0
			yyq870[3] = x.Protocol != ""
			yyq870[4] = x.HostIP != ""
			var yynn870 int
			if yyr870 || yy2arr870 {
				r.EncodeArrayStart(5)
			} else {
				yynn870 = 1
				for _, b := range yyq870 {
					if b {
						yynn870++
					}
				}
				r.EncodeMapStart(yynn870)
				yynn870 = 0
			}
			if yyr870 || yy2arr870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq870[0] {
					yym872 := z.EncBinary()
					_ = yym872
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq870[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym873 := z.EncBinary()
					_ = yym873
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr870 || yy2arr870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq870[1] {
					yym875 := z.EncBinary()
					_ = yym875
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq870[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPort"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym876 := z.EncBinary()
					_ = yym876
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				}
			}
			if yyr870 || yy2arr870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym878 := z.EncBinary()
				_ = yym878
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containerPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym879 := z.EncBinary()
				_ = yym879
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			}
			if yyr870 || yy2arr870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq870[3] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq870[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr870 || yy2arr870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq870[4] {
					yym882 := z.EncBinary()
					_ = yym882
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq870[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym883 := z.EncBinary()
					_ = yym883
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr870 || yy2arr870 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym884 := z.DecBinary()
	_ = yym884
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct885 := r.ContainerType()
		if yyct885 == codecSelferValueTypeMap1234 {
			yyl885 := r.ReadMapStart()
			if yyl885 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl885, d)
			}
		} else if yyct885 == codecSelferValueTypeArray1234 {
			yyl885 := r.ReadArrayStart()
			if yyl885 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl885, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerPort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys886Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys886Slc
	var yyhl886 bool = l >= 0
	for yyj886 := 0; ; yyj886++ {
		if yyhl886 {
			if yyj886 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys886Slc = r.DecodeBytes(yys886Slc, true, true)
		yys886 := string(yys886Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys886 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPort":
			if r.TryDecodeAsNil() {
				x.HostPort = 0
			} else {
				x.HostPort = int32(r.DecodeInt(32))
			}
		case "containerPort":
			if r.TryDecodeAsNil() {
				x.ContainerPort = 0
			} else {
				x.ContainerPort = int32(r.DecodeInt(32))
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		case "hostIP":
			if r.TryDecodeAsNil() {
				x.HostIP = ""
			} else {
				x.HostIP = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys886)
		} // end switch yys886
	} // end for yyj886
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj892 int
	var yyb892 bool
	var yyhl892 bool = l >= 0
	yyj892++
	if yyhl892 {
		yyb892 = yyj892 > l
	} else {
		yyb892 = r.CheckBreak()
	}
	if yyb892 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj892++
	if yyhl892 {
		yyb892 = yyj892 > l
	} else {
		yyb892 = r.CheckBreak()
	}
	if yyb892 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPort = 0
	} else {
		x.HostPort = int32(r.DecodeInt(32))
	}
	yyj892++
	if yyhl892 {
		yyb892 = yyj892 > l
	} else {
		yyb892 = r.CheckBreak()
	}
	if yyb892 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerPort = 0
	} else {
		x.ContainerPort = int32(r.DecodeInt(32))
	}
	yyj892++
	if yyhl892 {
		yyb892 = yyj892 > l
	} else {
		yyb892 = r.CheckBreak()
	}
	if yyb892 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj892++
	if yyhl892 {
		yyb892 = yyj892 > l
	} else {
		yyb892 = r.CheckBreak()
	}
	if yyb892 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	for {
		yyj892++
		if yyhl892 {
			yyb892 = yyj892 > l
		} else {
			yyb892 = r.CheckBreak()
		}
		if yyb892 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj892-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *VolumeMount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym898 := z.EncBinary()
		_ = yym898
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep899 := !z.EncBinary()
			yy2arr899 := z.EncBasicHandle().StructToArray
			var yyq899 [3]bool
			_, _, _ = yysep899, yyq899, yy2arr899
			const yyr899 bool = false
			yyq899[1] = x.ReadOnly != false
			var yynn899 int
			if yyr899 || yy2arr899 {
				r.EncodeArrayStart(3)
			} else {
				yynn899 = 2
				for _, b := range yyq899 {
					if b {
						yynn899++
					}
				}
				r.EncodeMapStart(yynn899)
				yynn899 = 0
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym901 := z.EncBinary()
				_ = yym901
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym902 := z.EncBinary()
				_ = yym902
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq899[1] {
					yym904 := z.EncBinary()
					_ = yym904
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq899[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym905 := z.EncBinary()
					_ = yym905
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym907 := z.EncBinary()
				_ = yym907
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("mountPath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym908 := z.EncBinary()
				_ = yym908
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *VolumeMount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym909 := z.DecBinary()
	_ = yym909
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct910 := r.ContainerType()
		if yyct910 == codecSelferValueTypeMap1234 {
			yyl910 := r.ReadMapStart()
			if yyl910 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl910, d)
			}
		} else if yyct910 == codecSelferValueTypeArray1234 {
			yyl910 := r.ReadArrayStart()
			if yyl910 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl910, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VolumeMount) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys911Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys911Slc
	var yyhl911 bool = l >= 0
	for yyj911 := 0; ; yyj911++ {
		if yyhl911 {
			if yyj911 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys911Slc = r.DecodeBytes(yys911Slc, true, true)
		yys911 := string(yys911Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys911 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "mountPath":
			if r.TryDecodeAsNil() {
				x.MountPath = ""
			} else {
				x.MountPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys911)
		} // end switch yys911
	} // end for yyj911
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *VolumeMount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj915 int
	var yyb915 bool
	var yyhl915 bool = l >= 0
	yyj915++
	if yyhl915 {
		yyb915 = yyj915 > l
	} else {
		yyb915 = r.CheckBreak()
	}
	if yyb915 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj915++
	if yyhl915 {
		yyb915 = yyj915 > l
	} else {
		yyb915 = r.CheckBreak()
	}
	if yyb915 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj915++
	if yyhl915 {
		yyb915 = yyj915 > l
	} else {
		yyb915 = r.CheckBreak()
	}
	if yyb915 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MountPath = ""
	} else {
		x.MountPath = string(r.DecodeString())
	}
	for {
		yyj915++
		if yyhl915 {
			yyb915 = yyj915 > l
		} else {
			yyb915 = r.CheckBreak()
		}
		if yyb915 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj915-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EnvVar) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym919 := z.EncBinary()
		_ = yym919
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep920 := !z.EncBinary()
			yy2arr920 := z.EncBasicHandle().StructToArray
			var yyq920 [3]bool
			_, _, _ = yysep920, yyq920, yy2arr920
			const yyr920 bool = false
			yyq920[1] = x.Value != ""
			yyq920[2] = x.ValueFrom != nil
			var yynn920 int
			if yyr920 || yy2arr920 {
				r.EncodeArrayStart(3)
			} else {
				yynn920 = 1
				for _, b := range yyq920 {
					if b {
						yynn920++
					}
				}
				r.EncodeMapStart(yynn920)
				yynn920 = 0
			}
			if yyr920 || yy2arr920 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym922 := z.EncBinary()
				_ = yym922
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym923 := z.EncBinary()
				_ = yym923
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr920 || yy2arr920 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq920[1] {
					yym925 := z.EncBinary()
					_ = yym925
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq920[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym926 := z.EncBinary()
					_ = yym926
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr920 || yy2arr920 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq920[2] {
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq920[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("valueFrom"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				}
			}
			if yyr920 || yy2arr920 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EnvVar) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym928 := z.DecBinary()
	_ = yym928
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct929 := r.ContainerType()
		if yyct929 == codecSelferValueTypeMap1234 {
			yyl929 := r.ReadMapStart()
			if yyl929 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl929, d)
			}
		} else if yyct929 == codecSelferValueTypeArray1234 {
			yyl929 := r.ReadArrayStart()
			if yyl929 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl929, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EnvVar) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys930Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys930Slc
	var yyhl930 bool = l >= 0
	for yyj930 := 0; ; yyj930++ {
		if yyhl930 {
			if yyj930 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys930Slc = r.DecodeBytes(yys930Slc, true, true)
		yys930 := string(yys930Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys930 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		case "valueFrom":
			if r.TryDecodeAsNil() {
				if x.ValueFrom != nil {
					x.ValueFrom = nil
				}
			} else {
				if x.ValueFrom == nil {
					x.ValueFrom = new(EnvVarSource)
				}
				x.ValueFrom.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys930)
		} // end switch yys930
	} // end for yyj930
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EnvVar) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj934 int
	var yyb934 bool
	var yyhl934 bool = l >= 0
	yyj934++
	if yyhl934 {
		yyb934 = yyj934 > l
	} else {
		yyb934 = r.CheckBreak()
	}
	if yyb934 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj934++
	if yyhl934 {
		yyb934 = yyj934 > l
	} else {
		yyb934 = r.CheckBreak()
	}
	if yyb934 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj934++
	if yyhl934 {
		yyb934 = yyj934 > l
	} else {
		yyb934 = r.CheckBreak()
	}
	if yyb934 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ValueFrom != nil {
			x.ValueFrom = nil
		}
	} else {
		if x.ValueFrom == nil {
			x.ValueFrom = new(EnvVarSource)
		}
		x.ValueFrom.CodecDecodeSelf(d)
	}
	for {
		yyj934++
		if yyhl934 {
			yyb934 = yyj934 > l
		} else {
			yyb934 = r.CheckBreak()
		}
		if yyb934 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj934-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EnvVarSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym938 := z.EncBinary()
		_ = yym938
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep939 := !z.EncBinary()
			yy2arr939 := z.EncBasicHandle().StructToArray
			var yyq939 [3]bool
			_, _, _ = yysep939, yyq939, yy2arr939
			const yyr939 bool = false
			yyq939[0] = x.FieldRef != nil
			yyq939[1] = x.ConfigMapKeyRef != nil
			yyq939[2] = x.SecretKeyRef != nil
			var yynn939 int
			if yyr939 || yy2arr939 {
				r.EncodeArrayStart(3)
			} else {
				yynn939 = 0
				for _, b := range yyq939 {
					if b {
						yynn939++
					}
				}
				r.EncodeMapStart(yynn939)
				yynn939 = 0
			}
			if yyr939 || yy2arr939 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq939[0] {
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq939[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr939 || yy2arr939 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq939[1] {
					if x.ConfigMapKeyRef == nil {
						r.EncodeNil()
					} else {
						x.ConfigMapKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq939[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("configMapKeyRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ConfigMapKeyRef == nil {
						r.EncodeNil()
					} else {
						x.ConfigMapKeyRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr939 || yy2arr939 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq939[2] {
					if x.SecretKeyRef == nil {
						r.EncodeNil()
					} else {
						x.SecretKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq939[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretKeyRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretKeyRef == nil {
						r.EncodeNil()
					} else {
						x.SecretKeyRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr939 || yy2arr939 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EnvVarSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym943 := z.DecBinary()
	_ = yym943
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct944 := r.ContainerType()
		if yyct944 == codecSelferValueTypeMap1234 {
			yyl944 := r.ReadMapStart()
			if yyl944 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl944, d)
			}
		} else if yyct944 == codecSelferValueTypeArray1234 {
			yyl944 := r.ReadArrayStart()
			if yyl944 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl944, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EnvVarSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys945Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys945Slc
	var yyhl945 bool = l >= 0
	for yyj945 := 0; ; yyj945++ {
		if yyhl945 {
			if yyj945 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys945Slc = r.DecodeBytes(yys945Slc, true, true)
		yys945 := string(yys945Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys945 {
		case "fieldRef":
			if r.TryDecodeAsNil() {
				if x.FieldRef != nil {
					x.FieldRef = nil
				}
			} else {
				if x.FieldRef == nil {
					x.FieldRef = new(ObjectFieldSelector)
				}
				x.FieldRef.CodecDecodeSelf(d)
			}
		case "configMapKeyRef":
			if r.TryDecodeAsNil() {
				if x.ConfigMapKeyRef != nil {
					x.ConfigMapKeyRef = nil
				}
			} else {
				if x.ConfigMapKeyRef == nil {
					x.ConfigMapKeyRef = new(ConfigMapKeySelector)
				}
				x.ConfigMapKeyRef.CodecDecodeSelf(d)
			}
		case "secretKeyRef":
			if r.TryDecodeAsNil() {
				if x.SecretKeyRef != nil {
					x.SecretKeyRef = nil
				}
			} else {
				if x.SecretKeyRef == nil {
					x.SecretKeyRef = new(SecretKeySelector)
				}
				x.SecretKeyRef.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys945)
		} // end switch yys945
	} // end for yyj945
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EnvVarSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj949 int
	var yyb949 bool
	var yyhl949 bool = l >= 0
	yyj949++
	if yyhl949 {
		yyb949 = yyj949 > l
	} else {
		yyb949 = r.CheckBreak()
	}
	if yyb949 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FieldRef != nil {
			x.FieldRef = nil
		}
	} else {
		if x.FieldRef == nil {
			x.FieldRef = new(ObjectFieldSelector)
		}
		x.FieldRef.CodecDecodeSelf(d)
	}
	yyj949++
	if yyhl949 {
		yyb949 = yyj949 > l
	} else {
		yyb949 = r.CheckBreak()
	}
	if yyb949 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ConfigMapKeyRef != nil {
			x.ConfigMapKeyRef = nil
		}
	} else {
		if x.ConfigMapKeyRef == nil {
			x.ConfigMapKeyRef = new(ConfigMapKeySelector)
		}
		x.ConfigMapKeyRef.CodecDecodeSelf(d)
	}
	yyj949++
	if yyhl949 {
		yyb949 = yyj949 > l
	} else {
		yyb949 = r.CheckBreak()
	}
	if yyb949 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretKeyRef != nil {
			x.SecretKeyRef = nil
		}
	} else {
		if x.SecretKeyRef == nil {
			x.SecretKeyRef = new(SecretKeySelector)
		}
		x.SecretKeyRef.CodecDecodeSelf(d)
	}
	for {
		yyj949++
		if yyhl949 {
			yyb949 = yyj949 > l
		} else {
			yyb949 = r.CheckBreak()
		}
		if yyb949 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj949-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ObjectFieldSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym953 := z.EncBinary()
		_ = yym953
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep954 := !z.EncBinary()
			yy2arr954 := z.EncBasicHandle().StructToArray
			var yyq954 [2]bool
			_, _, _ = yysep954, yyq954, yy2arr954
			const yyr954 bool = false
			yyq954[0] = x.APIVersion != ""
			var yynn954 int
			if yyr954 || yy2arr954 {
				r.EncodeArrayStart(2)
			} else {
				yynn954 = 1
				for _, b := range yyq954 {
					if b {
						yynn954++
					}
				}
				r.EncodeMapStart(yynn954)
				yynn954 = 0
			}
			if yyr954 || yy2arr954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq954[0] {
					yym956 := z.EncBinary()
					_ = yym956
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq954[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym957 := z.EncBinary()
					_ = yym957
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr954 || yy2arr954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym959 := z.EncBinary()
				_ = yym959
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym960 := z.EncBinary()
				_ = yym960
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			}
			if yyr954 || yy2arr954 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectFieldSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym961 := z.DecBinary()
	_ = yym961
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct962 := r.ContainerType()
		if yyct962 == codecSelferValueTypeMap1234 {
			yyl962 := r.ReadMapStart()
			if yyl962 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl962, d)
			}
		} else if yyct962 == codecSelferValueTypeArray1234 {
			yyl962 := r.ReadArrayStart()
			if yyl962 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl962, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectFieldSelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys963Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys963Slc
	var yyhl963 bool = l >= 0
	for yyj963 := 0; ; yyj963++ {
		if yyhl963 {
			if yyj963 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys963Slc = r.DecodeBytes(yys963Slc, true, true)
		yys963 := string(yys963Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys963 {
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "fieldPath":
			if r.TryDecodeAsNil() {
				x.FieldPath = ""
			} else {
				x.FieldPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys963)
		} // end switch yys963
	} // end for yyj963
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectFieldSelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj966 int
	var yyb966 bool
	var yyhl966 bool = l >= 0
	yyj966++
	if yyhl966 {
		yyb966 = yyj966 > l
	} else {
		yyb966 = r.CheckBreak()
	}
	if yyb966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj966++
	if yyhl966 {
		yyb966 = yyj966 > l
	} else {
		yyb966 = r.CheckBreak()
	}
	if yyb966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj966++
		if yyhl966 {
			yyb966 = yyj966 > l
		} else {
			yyb966 = r.CheckBreak()
		}
		if yyb966 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj966-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMapKeySelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym969 := z.EncBinary()
		_ = yym969
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep970 := !z.EncBinary()
			yy2arr970 := z.EncBasicHandle().StructToArray
			var yyq970 [2]bool
			_, _, _ = yysep970, yyq970, yy2arr970
			const yyr970 bool = false
			yyq970[0] = x.Name != ""
			var yynn970 int
			if yyr970 || yy2arr970 {
				r.EncodeArrayStart(2)
			} else {
				yynn970 = 1
				for _, b := range yyq970 {
					if b {
						yynn970++
					}
				}
				r.EncodeMapStart(yynn970)
				yynn970 = 0
			}
			if yyr970 || yy2arr970 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq970[0] {
					yym972 := z.EncBinary()
					_ = yym972
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq970[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym973 := z.EncBinary()
					_ = yym973
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr970 || yy2arr970 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym975 := z.EncBinary()
				_ = yym975
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym976 := z.EncBinary()
				_ = yym976
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr970 || yy2arr970 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMapKeySelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym977 := z.DecBinary()
	_ = yym977
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct978 := r.ContainerType()
		if yyct978 == codecSelferValueTypeMap1234 {
			yyl978 := r.ReadMapStart()
			if yyl978 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl978, d)
			}
		} else if yyct978 == codecSelferValueTypeArray1234 {
			yyl978 := r.ReadArrayStart()
			if yyl978 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl978, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMapKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys979Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys979Slc
	var yyhl979 bool = l >= 0
	for yyj979 := 0; ; yyj979++ {
		if yyhl979 {
			if yyj979 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys979Slc = r.DecodeBytes(yys979Slc, true, true)
		yys979 := string(yys979Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys979 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys979)
		} // end switch yys979
	} // end for yyj979
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj982 int
	var yyb982 bool
	var yyhl982 bool = l >= 0
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj982++
		if yyhl982 {
			yyb982 = yyj982 > l
		} else {
			yyb982 = r.CheckBreak()
		}
		if yyb982 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj982-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecretKeySelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym985 := z.EncBinary()
		_ = yym985
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep986 := !z.EncBinary()
			yy2arr986 := z.EncBasicHandle().StructToArray
			var yyq986 [2]bool
			_, _, _ = yysep986, yyq986, yy2arr986
			const yyr986 bool = false
			yyq986[0] = x.Name != ""
			var yynn986 int
			if yyr986 || yy2arr986 {
				r.EncodeArrayStart(2)
			} else {
				yynn986 = 1
				for _, b := range yyq986 {
					if b {
						yynn986++
					}
				}
				r.EncodeMapStart(yynn986)
				yynn986 = 0
			}
			if yyr986 || yy2arr986 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq986[0] {
					yym988 := z.EncBinary()
					_ = yym988
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq986[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym989 := z.EncBinary()
					_ = yym989
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr986 || yy2arr986 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym991 := z.EncBinary()
				_ = yym991
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym992 := z.EncBinary()
				_ = yym992
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr986 || yy2arr986 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretKeySelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym993 := z.DecBinary()
	_ = yym993
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct994 := r.ContainerType()
		if yyct994 == codecSelferValueTypeMap1234 {
			yyl994 := r.ReadMapStart()
			if yyl994 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl994, d)
			}
		} else if yyct994 == codecSelferValueTypeArray1234 {
			yyl994 := r.ReadArrayStart()
			if yyl994 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl994, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys995Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys995Slc
	var yyhl995 bool = l >= 0
	for yyj995 := 0; ; yyj995++ {
		if yyhl995 {
			if yyj995 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys995Slc = r.DecodeBytes(yys995Slc, true, true)
		yys995 := string(yys995Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys995 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys995)
		} // end switch yys995
	} // end for yyj995
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj998 int
	var yyb998 bool
	var yyhl998 bool = l >= 0
	yyj998++
	if yyhl998 {
		yyb998 = yyj998 > l
	} else {
		yyb998 = r.CheckBreak()
	}
	if yyb998 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj998++
	if yyhl998 {
		yyb998 = yyj998 > l
	} else {
		yyb998 = r.CheckBreak()
	}
	if yyb998 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj998++
		if yyhl998 {
			yyb998 = yyj998 > l
		} else {
			yyb998 = r.CheckBreak()
		}
		if yyb998 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj998-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *HTTPGetAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1001 := z.EncBinary()
		_ = yym1001
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1002 := !z.EncBinary()
			yy2arr1002 := z.EncBasicHandle().StructToArray
			var yyq1002 [4]bool
			_, _, _ = yysep1002, yyq1002, yy2arr1002
			const yyr1002 bool = false
			yyq1002[0] = x.Path != ""
			yyq1002[2] = x.Host != ""
			yyq1002[3] = x.Scheme != ""
			var yynn1002 int
			if yyr1002 || yy2arr1002 {
				r.EncodeArrayStart(4)
			} else {
				yynn1002 = 1
				for _, b := range yyq1002 {
					if b {
						yynn1002++
					}
				}
				r.EncodeMapStart(yynn1002)
				yynn1002 = 0
			}
			if yyr1002 || yy2arr1002 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1002[0] {
					yym1004 := z.EncBinary()
					_ = yym1004
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1002[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1005 := z.EncBinary()
					_ = yym1005
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr1002 || yy2arr1002 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy1007 := &x.Port
				yym1008 := z.EncBinary()
				_ = yym1008
				if false {
				} else if z.HasExtensions() && z.EncExt(yy1007) {
				} else if !yym1008 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy1007)
				} else {
					z.EncFallback(yy1007)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy1009 := &x.Port
				yym1010 := z.EncBinary()
				_ = yym1010
				if false {
				} else if z.HasExtensions() && z.EncExt(yy1009) {
				} else if !yym1010 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy1009)
				} else {
					z.EncFallback(yy1009)
				}
			}
			if yyr1002 || yy2arr1002 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1002[2] {
					yym1012 := z.EncBinary()
					_ = yym1012
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1002[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1013 := z.EncBinary()
					_ = yym1013
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr1002 || yy2arr1002 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1002[3] {
					x.Scheme.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1002[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("scheme"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Scheme.CodecEncodeSelf(e)
				}
			}
			if yyr1002 || yy2arr1002 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *HTTPGetAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1015 := z.DecBinary()
	_ = yym1015
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1016 := r.ContainerType()
		if yyct1016 == codecSelferValueTypeMap1234 {
			yyl1016 := r.ReadMapStart()
			if yyl1016 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1016, d)
			}
		} else if yyct1016 == codecSelferValueTypeArray1234 {
			yyl1016 := r.ReadArrayStart()
			if yyl1016 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1016, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HTTPGetAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1017Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1017Slc
	var yyhl1017 bool = l >= 0
	for yyj1017 := 0; ; yyj1017++ {
		if yyhl1017 {
			if yyj1017 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1017Slc = r.DecodeBytes(yys1017Slc, true, true)
		yys1017 := string(yys1017Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1017 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg5_intstr.IntOrString{}
			} else {
				yyv1019 := &x.Port
				yym1020 := z.DecBinary()
				_ = yym1020
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1019) {
				} else if !yym1020 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1019)
				} else {
					z.DecFallback(yyv1019, false)
				}
			}
		case "host":
			if r.TryDecodeAsNil() {
				x.Host = ""
			} else {
				x.Host = string(r.DecodeString())
			}
		case "scheme":
			if r.TryDecodeAsNil() {
				x.Scheme = ""
			} else {
				x.Scheme = URIScheme(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1017)
		} // end switch yys1017
	} // end for yyj1017
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *HTTPGetAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1023 int
	var yyb1023 bool
	var yyhl1023 bool = l >= 0
	yyj1023++
	if yyhl1023 {
		yyb1023 = yyj1023 > l
	} else {
		yyb1023 = r.CheckBreak()
	}
	if yyb1023 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1023++
	if yyhl1023 {
		yyb1023 = yyj1023 > l
	} else {
		yyb1023 = r.CheckBreak()
	}
	if yyb1023 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg5_intstr.IntOrString{}
	} else {
		yyv1025 := &x.Port
		yym1026 := z.DecBinary()
		_ = yym1026
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1025) {
		} else if !yym1026 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1025)
		} else {
			z.DecFallback(yyv1025, false)
		}
	}
	yyj1023++
	if yyhl1023 {
		yyb1023 = yyj1023 > l
	} else {
		yyb1023 = r.CheckBreak()
	}
	if yyb1023 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	yyj1023++
	if yyhl1023 {
		yyb1023 = yyj1023 > l
	} else {
		yyb1023 = r.CheckBreak()
	}
	if yyb1023 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Scheme = ""
	} else {
		x.Scheme = URIScheme(r.DecodeString())
	}
	for {
		yyj1023++
		if yyhl1023 {
			yyb1023 = yyj1023 > l
		} else {
			yyb1023 = r.CheckBreak()
		}
		if yyb1023 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1023-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x URIScheme) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1029 := z.EncBinary()
	_ = yym1029
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *URIScheme) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1030 := z.DecBinary()
	_ = yym1030
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *TCPSocketAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1031 := z.EncBinary()
		_ = yym1031
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1032 := !z.EncBinary()
			yy2arr1032 := z.EncBasicHandle().StructToArray
			var yyq1032 [1]bool
			_, _, _ = yysep1032, yyq1032, yy2arr1032
			const yyr1032 bool = false
			var yynn1032 int
			if yyr1032 || yy2arr1032 {
				r.EncodeArrayStart(1)
			} else {
				yynn1032 = 1
				for _, b := range yyq1032 {
					if b {
						yynn1032++
					}
				}
				r.EncodeMapStart(yynn1032)
				yynn1032 = 0
			}
			if yyr1032 || yy2arr1032 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy1034 := &x.Port
				yym1035 := z.EncBinary()
				_ = yym1035
				if false {
				} else if z.HasExtensions() && z.EncExt(yy1034) {
				} else if !yym1035 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy1034)
				} else {
					z.EncFallback(yy1034)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy1036 := &x.Port
				yym1037 := z.EncBinary()
				_ = yym1037
				if false {
				} else if z.HasExtensions() && z.EncExt(yy1036) {
				} else if !yym1037 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy1036)
				} else {
					z.EncFallback(yy1036)
				}
			}
			if yyr1032 || yy2arr1032 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *TCPSocketAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1038 := z.DecBinary()
	_ = yym1038
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1039 := r.ContainerType()
		if yyct1039 == codecSelferValueTypeMap1234 {
			yyl1039 := r.ReadMapStart()
			if yyl1039 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1039, d)
			}
		} else if yyct1039 == codecSelferValueTypeArray1234 {
			yyl1039 := r.ReadArrayStart()
			if yyl1039 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1039, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *TCPSocketAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1040Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1040Slc
	var yyhl1040 bool = l >= 0
	for yyj1040 := 0; ; yyj1040++ {
		if yyhl1040 {
			if yyj1040 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1040Slc = r.DecodeBytes(yys1040Slc, true, true)
		yys1040 := string(yys1040Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1040 {
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg5_intstr.IntOrString{}
			} else {
				yyv1041 := &x.Port
				yym1042 := z.DecBinary()
				_ = yym1042
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1041) {
				} else if !yym1042 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1041)
				} else {
					z.DecFallback(yyv1041, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1040)
		} // end switch yys1040
	} // end for yyj1040
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *TCPSocketAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1043 int
	var yyb1043 bool
	var yyhl1043 bool = l >= 0
	yyj1043++
	if yyhl1043 {
		yyb1043 = yyj1043 > l
	} else {
		yyb1043 = r.CheckBreak()
	}
	if yyb1043 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg5_intstr.IntOrString{}
	} else {
		yyv1044 := &x.Port
		yym1045 := z.DecBinary()
		_ = yym1045
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1044) {
		} else if !yym1045 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1044)
		} else {
			z.DecFallback(yyv1044, false)
		}
	}
	for {
		yyj1043++
		if yyhl1043 {
			yyb1043 = yyj1043 > l
		} else {
			yyb1043 = r.CheckBreak()
		}
		if yyb1043 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1043-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ExecAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1046 := z.EncBinary()
		_ = yym1046
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1047 := !z.EncBinary()
			yy2arr1047 := z.EncBasicHandle().StructToArray
			var yyq1047 [1]bool
			_, _, _ = yysep1047, yyq1047, yy2arr1047
			const yyr1047 bool = false
			yyq1047[0] = len(x.Command) != 0
			var yynn1047 int
			if yyr1047 || yy2arr1047 {
				r.EncodeArrayStart(1)
			} else {
				yynn1047 = 0
				for _, b := range yyq1047 {
					if b {
						yynn1047++
					}
				}
				r.EncodeMapStart(yynn1047)
				yynn1047 = 0
			}
			if yyr1047 || yy2arr1047 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1047[0] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1049 := z.EncBinary()
						_ = yym1049
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1047[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1050 := z.EncBinary()
						_ = yym1050
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1047 || yy2arr1047 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ExecAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1051 := z.DecBinary()
	_ = yym1051
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1052 := r.ContainerType()
		if yyct1052 == codecSelferValueTypeMap1234 {
			yyl1052 := r.ReadMapStart()
			if yyl1052 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1052, d)
			}
		} else if yyct1052 == codecSelferValueTypeArray1234 {
			yyl1052 := r.ReadArrayStart()
			if yyl1052 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1052, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ExecAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1053Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1053Slc
	var yyhl1053 bool = l >= 0
	for yyj1053 := 0; ; yyj1053++ {
		if yyhl1053 {
			if yyj1053 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1053Slc = r.DecodeBytes(yys1053Slc, true, true)
		yys1053 := string(yys1053Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1053 {
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1054 := &x.Command
				yym1055 := z.DecBinary()
				_ = yym1055
				if false {
				} else {
					z.F.DecSliceStringX(yyv1054, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1053)
		} // end switch yys1053
	} // end for yyj1053
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ExecAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1056 int
	var yyb1056 bool
	var yyhl1056 bool = l >= 0
	yyj1056++
	if yyhl1056 {
		yyb1056 = yyj1056 > l
	} else {
		yyb1056 = r.CheckBreak()
	}
	if yyb1056 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1057 := &x.Command
		yym1058 := z.DecBinary()
		_ = yym1058
		if false {
		} else {
			z.F.DecSliceStringX(yyv1057, false, d)
		}
	}
	for {
		yyj1056++
		if yyhl1056 {
			yyb1056 = yyj1056 > l
		} else {
			yyb1056 = r.CheckBreak()
		}
		if yyb1056 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1056-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Probe) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1059 := z.EncBinary()
		_ = yym1059
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1060 := !z.EncBinary()
			yy2arr1060 := z.EncBasicHandle().StructToArray
			var yyq1060 [8]bool
			_, _, _ = yysep1060, yyq1060, yy2arr1060
			const yyr1060 bool = false
			yyq1060[0] = x.Handler.Exec != nil && x.Exec != nil
			yyq1060[1] = x.Handler.HTTPGet != nil && x.HTTPGet != nil
			yyq1060[2] = x.Handler.TCPSocket != nil && x.TCPSocket != nil
			yyq1060[3] = x.InitialDelaySeconds != 0
			yyq1060[4] = x.TimeoutSeconds != 0
			yyq1060[5] = x.PeriodSeconds != 0
			yyq1060[6] = x.SuccessThreshold != 0
			yyq1060[7] = x.FailureThreshold != 0
			var yynn1060 int
			if yyr1060 || yy2arr1060 {
				r.EncodeArrayStart(8)
			} else {
				yynn1060 = 0
				for _, b := range yyq1060 {
					if b {
						yynn1060++
					}
				}
				r.EncodeMapStart(yynn1060)
				yynn1060 = 0
			}
			var yyn1061 bool
			if x.Handler.Exec == nil {
				yyn1061 = true
				goto LABEL1061
			}
		LABEL1061:
			if yyr1060 || yy2arr1060 {
				if yyn1061 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1060[0] {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1060[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1061 {
						r.EncodeNil()
					} else {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1062 bool
			if x.Handler.HTTPGet == nil {
				yyn1062 = true
				goto LABEL1062
			}
		LABEL1062:
			if yyr1060 || yy2arr1060 {
				if yyn1062 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1060[1] {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1060[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1062 {
						r.EncodeNil()
					} else {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1063 bool
			if x.Handler.TCPSocket == nil {
				yyn1063 = true
				goto LABEL1063
			}
		LABEL1063:
			if yyr1060 || yy2arr1060 {
				if yyn1063 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1060[2] {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1060[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1063 {
						r.EncodeNil()
					} else {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr1060 || yy2arr1060 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1060[3] {
					yym1065 := z.EncBinary()
					_ = yym1065
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1060[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("initialDelaySeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1066 := z.EncBinary()
					_ = yym1066
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				}
			}
			if yyr1060 || yy2arr1060 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1060[4] {
					yym1068 := z.EncBinary()
					_ = yym1068
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1060[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1069 := z.EncBinary()
					_ = yym1069
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				}
			}
			if yyr1060 || yy2arr1060 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1060[5] {
					yym1071 := z.EncBinary()
					_ = yym1071
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1060[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("periodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1072 := z.EncBinary()
					_ = yym1072
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				}
			}
			if yyr1060 || yy2arr1060 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1060[6] {
					yym1074 := z.EncBinary()
					_ = yym1074
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1060[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("successThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1075 := z.EncBinary()
					_ = yym1075
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				}
			}
			if yyr1060 || yy2arr1060 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1060[7] {
					yym1077 := z.EncBinary()
					_ = yym1077
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1060[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("failureThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1078 := z.EncBinary()
					_ = yym1078
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				}
			}
			if yyr1060 || yy2arr1060 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Probe) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1079 := z.DecBinary()
	_ = yym1079
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1080 := r.ContainerType()
		if yyct1080 == codecSelferValueTypeMap1234 {
			yyl1080 := r.ReadMapStart()
			if yyl1080 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1080, d)
			}
		} else if yyct1080 == codecSelferValueTypeArray1234 {
			yyl1080 := r.ReadArrayStart()
			if yyl1080 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1080, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Probe) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1081Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1081Slc
	var yyhl1081 bool = l >= 0
	for yyj1081 := 0; ; yyj1081++ {
		if yyhl1081 {
			if yyj1081 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1081Slc = r.DecodeBytes(yys1081Slc, true, true)
		yys1081 := string(yys1081Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1081 {
		case "exec":
			if x.Handler.Exec == nil {
				x.Handler.Exec = new(ExecAction)
			}
			if r.TryDecodeAsNil() {
				if x.Exec != nil {
					x.Exec = nil
				}
			} else {
				if x.Exec == nil {
					x.Exec = new(ExecAction)
				}
				x.Exec.CodecDecodeSelf(d)
			}
		case "httpGet":
			if x.Handler.HTTPGet == nil {
				x.Handler.HTTPGet = new(HTTPGetAction)
			}
			if r.TryDecodeAsNil() {
				if x.HTTPGet != nil {
					x.HTTPGet = nil
				}
			} else {
				if x.HTTPGet == nil {
					x.HTTPGet = new(HTTPGetAction)
				}
				x.HTTPGet.CodecDecodeSelf(d)
			}
		case "tcpSocket":
			if x.Handler.TCPSocket == nil {
				x.Handler.TCPSocket = new(TCPSocketAction)
			}
			if r.TryDecodeAsNil() {
				if x.TCPSocket != nil {
					x.TCPSocket = nil
				}
			} else {
				if x.TCPSocket == nil {
					x.TCPSocket = new(TCPSocketAction)
				}
				x.TCPSocket.CodecDecodeSelf(d)
			}
		case "initialDelaySeconds":
			if r.TryDecodeAsNil() {
				x.InitialDelaySeconds = 0
			} else {
				x.InitialDelaySeconds = int32(r.DecodeInt(32))
			}
		case "timeoutSeconds":
			if r.TryDecodeAsNil() {
				x.TimeoutSeconds = 0
			} else {
				x.TimeoutSeconds = int32(r.DecodeInt(32))
			}
		case "periodSeconds":
			if r.TryDecodeAsNil() {
				x.PeriodSeconds = 0
			} else {
				x.PeriodSeconds = int32(r.DecodeInt(32))
			}
		case "successThreshold":
			if r.TryDecodeAsNil() {
				x.SuccessThreshold = 0
			} else {
				x.SuccessThreshold = int32(r.DecodeInt(32))
			}
		case "failureThreshold":
			if r.TryDecodeAsNil() {
				x.FailureThreshold = 0
			} else {
				x.FailureThreshold = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1081)
		} // end switch yys1081
	} // end for yyj1081
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Probe) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1090 int
	var yyb1090 bool
	var yyhl1090 bool = l >= 0
	if x.Handler.Exec == nil {
		x.Handler.Exec = new(ExecAction)
	}
	yyj1090++
	if yyhl1090 {
		yyb1090 = yyj1090 > l
	} else {
		yyb1090 = r.CheckBreak()
	}
	if yyb1090 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	if x.Handler.HTTPGet == nil {
		x.Handler.HTTPGet = new(HTTPGetAction)
	}
	yyj1090++
	if yyhl1090 {
		yyb1090 = yyj1090 > l
	} else {
		yyb1090 = r.CheckBreak()
	}
	if yyb1090 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	if x.Handler.TCPSocket == nil {
		x.Handler.TCPSocket = new(TCPSocketAction)
	}
	yyj1090++
	if yyhl1090 {
		yyb1090 = yyj1090 > l
	} else {
		yyb1090 = r.CheckBreak()
	}
	if yyb1090 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	yyj1090++
	if yyhl1090 {
		yyb1090 = yyj1090 > l
	} else {
		yyb1090 = r.CheckBreak()
	}
	if yyb1090 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InitialDelaySeconds = 0
	} else {
		x.InitialDelaySeconds = int32(r.DecodeInt(32))
	}
	yyj1090++
	if yyhl1090 {
		yyb1090 = yyj1090 > l
	} else {
		yyb1090 = r.CheckBreak()
	}
	if yyb1090 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TimeoutSeconds = 0
	} else {
		x.TimeoutSeconds = int32(r.DecodeInt(32))
	}
	yyj1090++
	if yyhl1090 {
		yyb1090 = yyj1090 > l
	} else {
		yyb1090 = r.CheckBreak()
	}
	if yyb1090 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PeriodSeconds = 0
	} else {
		x.PeriodSeconds = int32(r.DecodeInt(32))
	}
	yyj1090++
	if yyhl1090 {
		yyb1090 = yyj1090 > l
	} else {
		yyb1090 = r.CheckBreak()
	}
	if yyb1090 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SuccessThreshold = 0
	} else {
		x.SuccessThreshold = int32(r.DecodeInt(32))
	}
	yyj1090++
	if yyhl1090 {
		yyb1090 = yyj1090 > l
	} else {
		yyb1090 = r.CheckBreak()
	}
	if yyb1090 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FailureThreshold = 0
	} else {
		x.FailureThreshold = int32(r.DecodeInt(32))
	}
	for {
		yyj1090++
		if yyhl1090 {
			yyb1090 = yyj1090 > l
		} else {
			yyb1090 = r.CheckBreak()
		}
		if yyb1090 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1090-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PullPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1099 := z.EncBinary()
	_ = yym1099
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PullPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1100 := z.DecBinary()
	_ = yym1100
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x Capability) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1101 := z.EncBinary()
	_ = yym1101
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *Capability) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1102 := z.DecBinary()
	_ = yym1102
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Capabilities) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1103 := z.EncBinary()
		_ = yym1103
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1104 := !z.EncBinary()
			yy2arr1104 := z.EncBasicHandle().StructToArray
			var yyq1104 [2]bool
			_, _, _ = yysep1104, yyq1104, yy2arr1104
			const yyr1104 bool = false
			yyq1104[0] = len(x.Add) != 0
			yyq1104[1] = len(x.Drop) != 0
			var yynn1104 int
			if yyr1104 || yy2arr1104 {
				r.EncodeArrayStart(2)
			} else {
				yynn1104 = 0
				for _, b := range yyq1104 {
					if b {
						yynn1104++
					}
				}
				r.EncodeMapStart(yynn1104)
				yynn1104 = 0
			}
			if yyr1104 || yy2arr1104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1104[0] {
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1106 := z.EncBinary()
						_ = yym1106
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1104[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("add"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1107 := z.EncBinary()
						_ = yym1107
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				}
			}
			if yyr1104 || yy2arr1104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1104[1] {
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1109 := z.EncBinary()
						_ = yym1109
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1104[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("drop"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1110 := z.EncBinary()
						_ = yym1110
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				}
			}
			if yyr1104 || yy2arr1104 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Capabilities) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1111 := z.DecBinary()
	_ = yym1111
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1112 := r.ContainerType()
		if yyct1112 == codecSelferValueTypeMap1234 {
			yyl1112 := r.ReadMapStart()
			if yyl1112 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1112, d)
			}
		} else if yyct1112 == codecSelferValueTypeArray1234 {
			yyl1112 := r.ReadArrayStart()
			if yyl1112 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1112, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Capabilities) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1113Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1113Slc
	var yyhl1113 bool = l >= 0
	for yyj1113 := 0; ; yyj1113++ {
		if yyhl1113 {
			if yyj1113 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1113Slc = r.DecodeBytes(yys1113Slc, true, true)
		yys1113 := string(yys1113Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1113 {
		case "add":
			if r.TryDecodeAsNil() {
				x.Add = nil
			} else {
				yyv1114 := &x.Add
				yym1115 := z.DecBinary()
				_ = yym1115
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1114), d)
				}
			}
		case "drop":
			if r.TryDecodeAsNil() {
				x.Drop = nil
			} else {
				yyv1116 := &x.Drop
				yym1117 := z.DecBinary()
				_ = yym1117
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1116), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1113)
		} // end switch yys1113
	} // end for yyj1113
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Capabilities) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1118 int
	var yyb1118 bool
	var yyhl1118 bool = l >= 0
	yyj1118++
	if yyhl1118 {
		yyb1118 = yyj1118 > l
	} else {
		yyb1118 = r.CheckBreak()
	}
	if yyb1118 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Add = nil
	} else {
		yyv1119 := &x.Add
		yym1120 := z.DecBinary()
		_ = yym1120
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1119), d)
		}
	}
	yyj1118++
	if yyhl1118 {
		yyb1118 = yyj1118 > l
	} else {
		yyb1118 = r.CheckBreak()
	}
	if yyb1118 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Drop = nil
	} else {
		yyv1121 := &x.Drop
		yym1122 := z.DecBinary()
		_ = yym1122
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1121), d)
		}
	}
	for {
		yyj1118++
		if yyhl1118 {
			yyb1118 = yyj1118 > l
		} else {
			yyb1118 = r.CheckBreak()
		}
		if yyb1118 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1118-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceRequirements) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1123 := z.EncBinary()
		_ = yym1123
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1124 := !z.EncBinary()
			yy2arr1124 := z.EncBasicHandle().StructToArray
			var yyq1124 [2]bool
			_, _, _ = yysep1124, yyq1124, yy2arr1124
			const yyr1124 bool = false
			yyq1124[0] = len(x.Limits) != 0
			yyq1124[1] = len(x.Requests) != 0
			var yynn1124 int
			if yyr1124 || yy2arr1124 {
				r.EncodeArrayStart(2)
			} else {
				yynn1124 = 0
				for _, b := range yyq1124 {
					if b {
						yynn1124++
					}
				}
				r.EncodeMapStart(yynn1124)
				yynn1124 = 0
			}
			if yyr1124 || yy2arr1124 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1124[0] {
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1124[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("limits"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1124 || yy2arr1124 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1124[1] {
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1124[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requests"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1124 || yy2arr1124 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceRequirements) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1127 := z.DecBinary()
	_ = yym1127
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1128 := r.ContainerType()
		if yyct1128 == codecSelferValueTypeMap1234 {
			yyl1128 := r.ReadMapStart()
			if yyl1128 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1128, d)
			}
		} else if yyct1128 == codecSelferValueTypeArray1234 {
			yyl1128 := r.ReadArrayStart()
			if yyl1128 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1128, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceRequirements) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1129Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1129Slc
	var yyhl1129 bool = l >= 0
	for yyj1129 := 0; ; yyj1129++ {
		if yyhl1129 {
			if yyj1129 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1129Slc = r.DecodeBytes(yys1129Slc, true, true)
		yys1129 := string(yys1129Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1129 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv1130 := &x.Limits
				yyv1130.CodecDecodeSelf(d)
			}
		case "requests":
			if r.TryDecodeAsNil() {
				x.Requests = nil
			} else {
				yyv1131 := &x.Requests
				yyv1131.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1129)
		} // end switch yys1129
	} // end for yyj1129
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceRequirements) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1132 int
	var yyb1132 bool
	var yyhl1132 bool = l >= 0
	yyj1132++
	if yyhl1132 {
		yyb1132 = yyj1132 > l
	} else {
		yyb1132 = r.CheckBreak()
	}
	if yyb1132 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv1133 := &x.Limits
		yyv1133.CodecDecodeSelf(d)
	}
	yyj1132++
	if yyhl1132 {
		yyb1132 = yyj1132 > l
	} else {
		yyb1132 = r.CheckBreak()
	}
	if yyb1132 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Requests = nil
	} else {
		yyv1134 := &x.Requests
		yyv1134.CodecDecodeSelf(d)
	}
	for {
		yyj1132++
		if yyhl1132 {
			yyb1132 = yyj1132 > l
		} else {
			yyb1132 = r.CheckBreak()
		}
		if yyb1132 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1132-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Container) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1135 := z.EncBinary()
		_ = yym1135
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1136 := !z.EncBinary()
			yy2arr1136 := z.EncBasicHandle().StructToArray
			var yyq1136 [18]bool
			_, _, _ = yysep1136, yyq1136, yy2arr1136
			const yyr1136 bool = false
			yyq1136[1] = x.Image != ""
			yyq1136[2] = len(x.Command) != 0
			yyq1136[3] = len(x.Args) != 0
			yyq1136[4] = x.WorkingDir != ""
			yyq1136[5] = len(x.Ports) != 0
			yyq1136[6] = len(x.Env) != 0
			yyq1136[7] = true
			yyq1136[8] = len(x.VolumeMounts) != 0
			yyq1136[9] = x.LivenessProbe != nil
			yyq1136[10] = x.ReadinessProbe != nil
			yyq1136[11] = x.Lifecycle != nil
			yyq1136[12] = x.TerminationMessagePath != ""
			yyq1136[13] = x.ImagePullPolicy != ""
			yyq1136[14] = x.SecurityContext != nil
			yyq1136[15] = x.Stdin != false
			yyq1136[16] = x.StdinOnce != false
			yyq1136[17] = x.TTY != false
			var yynn1136 int
			if yyr1136 || yy2arr1136 {
				r.EncodeArrayStart(18)
			} else {
				yynn1136 = 1
				for _, b := range yyq1136 {
					if b {
						yynn1136++
					}
				}
				r.EncodeMapStart(yynn1136)
				yynn1136 = 0
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1138 := z.EncBinary()
				_ = yym1138
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1139 := z.EncBinary()
				_ = yym1139
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[1] {
					yym1141 := z.EncBinary()
					_ = yym1141
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Image))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1136[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("image"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1142 := z.EncBinary()
					_ = yym1142
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Image))
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[2] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1144 := z.EncBinary()
						_ = yym1144
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1145 := z.EncBinary()
						_ = yym1145
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[3] {
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1147 := z.EncBinary()
						_ = yym1147
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("args"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1148 := z.EncBinary()
						_ = yym1148
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[4] {
					yym1150 := z.EncBinary()
					_ = yym1150
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1136[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("workingDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1151 := z.EncBinary()
					_ = yym1151
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[5] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1153 := z.EncBinary()
						_ = yym1153
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1154 := z.EncBinary()
						_ = yym1154
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[6] {
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1156 := z.EncBinary()
						_ = yym1156
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("env"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1157 := z.EncBinary()
						_ = yym1157
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[7] {
					yy1159 := &x.Resources
					yy1159.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1160 := &x.Resources
					yy1160.CodecEncodeSelf(e)
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[8] {
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1162 := z.EncBinary()
						_ = yym1162
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeMounts"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1163 := z.EncBinary()
						_ = yym1163
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[9] {
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("livenessProbe"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[10] {
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readinessProbe"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[11] {
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lifecycle"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[12] {
					yym1168 := z.EncBinary()
					_ = yym1168
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1136[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationMessagePath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1169 := z.EncBinary()
					_ = yym1169
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[13] {
					x.ImagePullPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1136[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.ImagePullPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[14] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1136[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[15] {
					yym1173 := z.EncBinary()
					_ = yym1173
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1136[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1174 := z.EncBinary()
					_ = yym1174
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[16] {
					yym1176 := z.EncBinary()
					_ = yym1176
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1136[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdinOnce"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1177 := z.EncBinary()
					_ = yym1177
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1136[17] {
					yym1179 := z.EncBinary()
					_ = yym1179
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1136[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1180 := z.EncBinary()
					_ = yym1180
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr1136 || yy2arr1136 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Container) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1181 := z.DecBinary()
	_ = yym1181
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1182 := r.ContainerType()
		if yyct1182 == codecSelferValueTypeMap1234 {
			yyl1182 := r.ReadMapStart()
			if yyl1182 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1182, d)
			}
		} else if yyct1182 == codecSelferValueTypeArray1234 {
			yyl1182 := r.ReadArrayStart()
			if yyl1182 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1182, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Container) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1183Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1183Slc
	var yyhl1183 bool = l >= 0
	for yyj1183 := 0; ; yyj1183++ {
		if yyhl1183 {
			if yyj1183 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1183Slc = r.DecodeBytes(yys1183Slc, true, true)
		yys1183 := string(yys1183Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1183 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.Image = ""
			} else {
				x.Image = string(r.DecodeString())
			}
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1186 := &x.Command
				yym1187 := z.DecBinary()
				_ = yym1187
				if false {
				} else {
					z.F.DecSliceStringX(yyv1186, false, d)
				}
			}
		case "args":
			if r.TryDecodeAsNil() {
				x.Args = nil
			} else {
				yyv1188 := &x.Args
				yym1189 := z.DecBinary()
				_ = yym1189
				if false {
				} else {
					z.F.DecSliceStringX(yyv1188, false, d)
				}
			}
		case "workingDir":
			if r.TryDecodeAsNil() {
				x.WorkingDir = ""
			} else {
				x.WorkingDir = string(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1191 := &x.Ports
				yym1192 := z.DecBinary()
				_ = yym1192
				if false {
				} else {
					h.decSliceContainerPort((*[]ContainerPort)(yyv1191), d)
				}
			}
		case "env":
			if r.TryDecodeAsNil() {
				x.Env = nil
			} else {
				yyv1193 := &x.Env
				yym1194 := z.DecBinary()
				_ = yym1194
				if false {
				} else {
					h.decSliceEnvVar((*[]EnvVar)(yyv1193), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv1195 := &x.Resources
				yyv1195.CodecDecodeSelf(d)
			}
		case "volumeMounts":
			if r.TryDecodeAsNil() {
				x.VolumeMounts = nil
			} else {
				yyv1196 := &x.VolumeMounts
				yym1197 := z.DecBinary()
				_ = yym1197
				if false {
				} else {
					h.decSliceVolumeMount((*[]VolumeMount)(yyv1196), d)
				}
			}
		case "livenessProbe":
			if r.TryDecodeAsNil() {
				if x.LivenessProbe != nil {
					x.LivenessProbe = nil
				}
			} else {
				if x.LivenessProbe == nil {
					x.LivenessProbe = new(Probe)
				}
				x.LivenessProbe.CodecDecodeSelf(d)
			}
		case "readinessProbe":
			if r.TryDecodeAsNil() {
				if x.ReadinessProbe != nil {
					x.ReadinessProbe = nil
				}
			} else {
				if x.ReadinessProbe == nil {
					x.ReadinessProbe = new(Probe)
				}
				x.ReadinessProbe.CodecDecodeSelf(d)
			}
		case "lifecycle":
			if r.TryDecodeAsNil() {
				if x.Lifecycle != nil {
					x.Lifecycle = nil
				}
			} else {
				if x.Lifecycle == nil {
					x.Lifecycle = new(Lifecycle)
				}
				x.Lifecycle.CodecDecodeSelf(d)
			}
		case "terminationMessagePath":
			if r.TryDecodeAsNil() {
				x.TerminationMessagePath = ""
			} else {
				x.TerminationMessagePath = string(r.DecodeString())
			}
		case "imagePullPolicy":
			if r.TryDecodeAsNil() {
				x.ImagePullPolicy = ""
			} else {
				x.ImagePullPolicy = PullPolicy(r.DecodeString())
			}
		case "securityContext":
			if r.TryDecodeAsNil() {
				if x.SecurityContext != nil {
					x.SecurityContext = nil
				}
			} else {
				if x.SecurityContext == nil {
					x.SecurityContext = new(SecurityContext)
				}
				x.SecurityContext.CodecDecodeSelf(d)
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdinOnce":
			if r.TryDecodeAsNil() {
				x.StdinOnce = false
			} else {
				x.StdinOnce = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1183)
		} // end switch yys1183
	} // end for yyj1183
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Container) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1207 int
	var yyb1207 bool
	var yyhl1207 bool = l >= 0
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1210 := &x.Command
		yym1211 := z.DecBinary()
		_ = yym1211
		if false {
		} else {
			z.F.DecSliceStringX(yyv1210, false, d)
		}
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Args = nil
	} else {
		yyv1212 := &x.Args
		yym1213 := z.DecBinary()
		_ = yym1213
		if false {
		} else {
			z.F.DecSliceStringX(yyv1212, false, d)
		}
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.WorkingDir = ""
	} else {
		x.WorkingDir = string(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1215 := &x.Ports
		yym1216 := z.DecBinary()
		_ = yym1216
		if false {
		} else {
			h.decSliceContainerPort((*[]ContainerPort)(yyv1215), d)
		}
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Env = nil
	} else {
		yyv1217 := &x.Env
		yym1218 := z.DecBinary()
		_ = yym1218
		if false {
		} else {
			h.decSliceEnvVar((*[]EnvVar)(yyv1217), d)
		}
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv1219 := &x.Resources
		yyv1219.CodecDecodeSelf(d)
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeMounts = nil
	} else {
		yyv1220 := &x.VolumeMounts
		yym1221 := z.DecBinary()
		_ = yym1221
		if false {
		} else {
			h.decSliceVolumeMount((*[]VolumeMount)(yyv1220), d)
		}
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.LivenessProbe != nil {
			x.LivenessProbe = nil
		}
	} else {
		if x.LivenessProbe == nil {
			x.LivenessProbe = new(Probe)
		}
		x.LivenessProbe.CodecDecodeSelf(d)
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ReadinessProbe != nil {
			x.ReadinessProbe = nil
		}
	} else {
		if x.ReadinessProbe == nil {
			x.ReadinessProbe = new(Probe)
		}
		x.ReadinessProbe.CodecDecodeSelf(d)
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Lifecycle != nil {
			x.Lifecycle = nil
		}
	} else {
		if x.Lifecycle == nil {
			x.Lifecycle = new(Lifecycle)
		}
		x.Lifecycle.CodecDecodeSelf(d)
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TerminationMessagePath = ""
	} else {
		x.TerminationMessagePath = string(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullPolicy = ""
	} else {
		x.ImagePullPolicy = PullPolicy(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(SecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StdinOnce = false
	} else {
		x.StdinOnce = bool(r.DecodeBool())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	for {
		yyj1207++
		if yyhl1207 {
			yyb1207 = yyj1207 > l
		} else {
			yyb1207 = r.CheckBreak()
		}
		if yyb1207 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1207-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Handler) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1231 := z.EncBinary()
		_ = yym1231
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1232 := !z.EncBinary()
			yy2arr1232 := z.EncBasicHandle().StructToArray
			var yyq1232 [3]bool
			_, _, _ = yysep1232, yyq1232, yy2arr1232
			const yyr1232 bool = false
			yyq1232[0] = x.Exec != nil
			yyq1232[1] = x.HTTPGet != nil
			yyq1232[2] = x.TCPSocket != nil
			var yynn1232 int
			if yyr1232 || yy2arr1232 {
				r.EncodeArrayStart(3)
			} else {
				yynn1232 = 0
				for _, b := range yyq1232 {
					if b {
						yynn1232++
					}
				}
				r.EncodeMapStart(yynn1232)
				yynn1232 = 0
			}
			if yyr1232 || yy2arr1232 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1232[0] {
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1232[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1232 || yy2arr1232 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1232[1] {
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1232[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1232 || yy2arr1232 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1232[2] {
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1232[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1232 || yy2arr1232 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Handler) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1236 := z.DecBinary()
	_ = yym1236
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1237 := r.ContainerType()
		if yyct1237 == codecSelferValueTypeMap1234 {
			yyl1237 := r.ReadMapStart()
			if yyl1237 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1237, d)
			}
		} else if yyct1237 == codecSelferValueTypeArray1234 {
			yyl1237 := r.ReadArrayStart()
			if yyl1237 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1237, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Handler) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1238Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1238Slc
	var yyhl1238 bool = l >= 0
	for yyj1238 := 0; ; yyj1238++ {
		if yyhl1238 {
			if yyj1238 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1238Slc = r.DecodeBytes(yys1238Slc, true, true)
		yys1238 := string(yys1238Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1238 {
		case "exec":
			if r.TryDecodeAsNil() {
				if x.Exec != nil {
					x.Exec = nil
				}
			} else {
				if x.Exec == nil {
					x.Exec = new(ExecAction)
				}
				x.Exec.CodecDecodeSelf(d)
			}
		case "httpGet":
			if r.TryDecodeAsNil() {
				if x.HTTPGet != nil {
					x.HTTPGet = nil
				}
			} else {
				if x.HTTPGet == nil {
					x.HTTPGet = new(HTTPGetAction)
				}
				x.HTTPGet.CodecDecodeSelf(d)
			}
		case "tcpSocket":
			if r.TryDecodeAsNil() {
				if x.TCPSocket != nil {
					x.TCPSocket = nil
				}
			} else {
				if x.TCPSocket == nil {
					x.TCPSocket = new(TCPSocketAction)
				}
				x.TCPSocket.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1238)
		} // end switch yys1238
	} // end for yyj1238
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Handler) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1242 int
	var yyb1242 bool
	var yyhl1242 bool = l >= 0
	yyj1242++
	if yyhl1242 {
		yyb1242 = yyj1242 > l
	} else {
		yyb1242 = r.CheckBreak()
	}
	if yyb1242 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	yyj1242++
	if yyhl1242 {
		yyb1242 = yyj1242 > l
	} else {
		yyb1242 = r.CheckBreak()
	}
	if yyb1242 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	yyj1242++
	if yyhl1242 {
		yyb1242 = yyj1242 > l
	} else {
		yyb1242 = r.CheckBreak()
	}
	if yyb1242 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	for {
		yyj1242++
		if yyhl1242 {
			yyb1242 = yyj1242 > l
		} else {
			yyb1242 = r.CheckBreak()
		}
		if yyb1242 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1242-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Lifecycle) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1246 := z.EncBinary()
		_ = yym1246
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1247 := !z.EncBinary()
			yy2arr1247 := z.EncBasicHandle().StructToArray
			var yyq1247 [2]bool
			_, _, _ = yysep1247, yyq1247, yy2arr1247
			const yyr1247 bool = false
			yyq1247[0] = x.PostStart != nil
			yyq1247[1] = x.PreStop != nil
			var yynn1247 int
			if yyr1247 || yy2arr1247 {
				r.EncodeArrayStart(2)
			} else {
				yynn1247 = 0
				for _, b := range yyq1247 {
					if b {
						yynn1247++
					}
				}
				r.EncodeMapStart(yynn1247)
				yynn1247 = 0
			}
			if yyr1247 || yy2arr1247 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1247[0] {
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1247[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("postStart"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1247 || yy2arr1247 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1247[1] {
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1247[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preStop"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1247 || yy2arr1247 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Lifecycle) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1250 := z.DecBinary()
	_ = yym1250
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1251 := r.ContainerType()
		if yyct1251 == codecSelferValueTypeMap1234 {
			yyl1251 := r.ReadMapStart()
			if yyl1251 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1251, d)
			}
		} else if yyct1251 == codecSelferValueTypeArray1234 {
			yyl1251 := r.ReadArrayStart()
			if yyl1251 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1251, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Lifecycle) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1252Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1252Slc
	var yyhl1252 bool = l >= 0
	for yyj1252 := 0; ; yyj1252++ {
		if yyhl1252 {
			if yyj1252 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1252Slc = r.DecodeBytes(yys1252Slc, true, true)
		yys1252 := string(yys1252Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1252 {
		case "postStart":
			if r.TryDecodeAsNil() {
				if x.PostStart != nil {
					x.PostStart = nil
				}
			} else {
				if x.PostStart == nil {
					x.PostStart = new(Handler)
				}
				x.PostStart.CodecDecodeSelf(d)
			}
		case "preStop":
			if r.TryDecodeAsNil() {
				if x.PreStop != nil {
					x.PreStop = nil
				}
			} else {
				if x.PreStop == nil {
					x.PreStop = new(Handler)
				}
				x.PreStop.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1252)
		} // end switch yys1252
	} // end for yyj1252
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Lifecycle) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1255 int
	var yyb1255 bool
	var yyhl1255 bool = l >= 0
	yyj1255++
	if yyhl1255 {
		yyb1255 = yyj1255 > l
	} else {
		yyb1255 = r.CheckBreak()
	}
	if yyb1255 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PostStart != nil {
			x.PostStart = nil
		}
	} else {
		if x.PostStart == nil {
			x.PostStart = new(Handler)
		}
		x.PostStart.CodecDecodeSelf(d)
	}
	yyj1255++
	if yyhl1255 {
		yyb1255 = yyj1255 > l
	} else {
		yyb1255 = r.CheckBreak()
	}
	if yyb1255 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PreStop != nil {
			x.PreStop = nil
		}
	} else {
		if x.PreStop == nil {
			x.PreStop = new(Handler)
		}
		x.PreStop.CodecDecodeSelf(d)
	}
	for {
		yyj1255++
		if yyhl1255 {
			yyb1255 = yyj1255 > l
		} else {
			yyb1255 = r.CheckBreak()
		}
		if yyb1255 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1255-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ConditionStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1258 := z.EncBinary()
	_ = yym1258
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ConditionStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1259 := z.DecBinary()
	_ = yym1259
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ContainerStateWaiting) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1260 := z.EncBinary()
		_ = yym1260
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1261 := !z.EncBinary()
			yy2arr1261 := z.EncBasicHandle().StructToArray
			var yyq1261 [2]bool
			_, _, _ = yysep1261, yyq1261, yy2arr1261
			const yyr1261 bool = false
			yyq1261[0] = x.Reason != ""
			yyq1261[1] = x.Message != ""
			var yynn1261 int
			if yyr1261 || yy2arr1261 {
				r.EncodeArrayStart(2)
			} else {
				yynn1261 = 0
				for _, b := range yyq1261 {
					if b {
						yynn1261++
					}
				}
				r.EncodeMapStart(yynn1261)
				yynn1261 = 0
			}
			if yyr1261 || yy2arr1261 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1261[0] {
					yym1263 := z.EncBinary()
					_ = yym1263
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1261[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1264 := z.EncBinary()
					_ = yym1264
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1261 || yy2arr1261 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1261[1] {
					yym1266 := z.EncBinary()
					_ = yym1266
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1261[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1267 := z.EncBinary()
					_ = yym1267
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1261 || yy2arr1261 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateWaiting) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1268 := z.DecBinary()
	_ = yym1268
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1269 := r.ContainerType()
		if yyct1269 == codecSelferValueTypeMap1234 {
			yyl1269 := r.ReadMapStart()
			if yyl1269 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1269, d)
			}
		} else if yyct1269 == codecSelferValueTypeArray1234 {
			yyl1269 := r.ReadArrayStart()
			if yyl1269 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1269, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateWaiting) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1270Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1270Slc
	var yyhl1270 bool = l >= 0
	for yyj1270 := 0; ; yyj1270++ {
		if yyhl1270 {
			if yyj1270 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1270Slc = r.DecodeBytes(yys1270Slc, true, true)
		yys1270 := string(yys1270Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1270 {
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1270)
		} // end switch yys1270
	} // end for yyj1270
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateWaiting) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1273 int
	var yyb1273 bool
	var yyhl1273 bool = l >= 0
	yyj1273++
	if yyhl1273 {
		yyb1273 = yyj1273 > l
	} else {
		yyb1273 = r.CheckBreak()
	}
	if yyb1273 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1273++
	if yyhl1273 {
		yyb1273 = yyj1273 > l
	} else {
		yyb1273 = r.CheckBreak()
	}
	if yyb1273 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1273++
		if yyhl1273 {
			yyb1273 = yyj1273 > l
		} else {
			yyb1273 = r.CheckBreak()
		}
		if yyb1273 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1273-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStateRunning) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1276 := z.EncBinary()
		_ = yym1276
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1277 := !z.EncBinary()
			yy2arr1277 := z.EncBasicHandle().StructToArray
			var yyq1277 [1]bool
			_, _, _ = yysep1277, yyq1277, yy2arr1277
			const yyr1277 bool = false
			yyq1277[0] = true
			var yynn1277 int
			if yyr1277 || yy2arr1277 {
				r.EncodeArrayStart(1)
			} else {
				yynn1277 = 0
				for _, b := range yyq1277 {
					if b {
						yynn1277++
					}
				}
				r.EncodeMapStart(yynn1277)
				yynn1277 = 0
			}
			if yyr1277 || yy2arr1277 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1277[0] {
					yy1279 := &x.StartedAt
					yym1280 := z.EncBinary()
					_ = yym1280
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1279) {
					} else if yym1280 {
						z.EncBinaryMarshal(yy1279)
					} else if !yym1280 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1279)
					} else {
						z.EncFallback(yy1279)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1277[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1281 := &x.StartedAt
					yym1282 := z.EncBinary()
					_ = yym1282
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1281) {
					} else if yym1282 {
						z.EncBinaryMarshal(yy1281)
					} else if !yym1282 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1281)
					} else {
						z.EncFallback(yy1281)
					}
				}
			}
			if yyr1277 || yy2arr1277 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateRunning) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1283 := z.DecBinary()
	_ = yym1283
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1284 := r.ContainerType()
		if yyct1284 == codecSelferValueTypeMap1234 {
			yyl1284 := r.ReadMapStart()
			if yyl1284 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1284, d)
			}
		} else if yyct1284 == codecSelferValueTypeArray1234 {
			yyl1284 := r.ReadArrayStart()
			if yyl1284 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1284, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateRunning) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1285Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1285Slc
	var yyhl1285 bool = l >= 0
	for yyj1285 := 0; ; yyj1285++ {
		if yyhl1285 {
			if yyj1285 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1285Slc = r.DecodeBytes(yys1285Slc, true, true)
		yys1285 := string(yys1285Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1285 {
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1286 := &x.StartedAt
				yym1287 := z.DecBinary()
				_ = yym1287
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1286) {
				} else if yym1287 {
					z.DecBinaryUnmarshal(yyv1286)
				} else if !yym1287 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1286)
				} else {
					z.DecFallback(yyv1286, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1285)
		} // end switch yys1285
	} // end for yyj1285
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateRunning) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1288 int
	var yyb1288 bool
	var yyhl1288 bool = l >= 0
	yyj1288++
	if yyhl1288 {
		yyb1288 = yyj1288 > l
	} else {
		yyb1288 = r.CheckBreak()
	}
	if yyb1288 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1289 := &x.StartedAt
		yym1290 := z.DecBinary()
		_ = yym1290
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1289) {
		} else if yym1290 {
			z.DecBinaryUnmarshal(yyv1289)
		} else if !yym1290 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1289)
		} else {
			z.DecFallback(yyv1289, false)
		}
	}
	for {
		yyj1288++
		if yyhl1288 {
			yyb1288 = yyj1288 > l
		} else {
			yyb1288 = r.CheckBreak()
		}
		if yyb1288 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1288-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStateTerminated) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1291 := z.EncBinary()
		_ = yym1291
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1292 := !z.EncBinary()
			yy2arr1292 := z.EncBasicHandle().StructToArray
			var yyq1292 [7]bool
			_, _, _ = yysep1292, yyq1292, yy2arr1292
			const yyr1292 bool = false
			yyq1292[1] = x.Signal != 0
			yyq1292[2] = x.Reason != ""
			yyq1292[3] = x.Message != ""
			yyq1292[4] = true
			yyq1292[5] = true
			yyq1292[6] = x.ContainerID != ""
			var yynn1292 int
			if yyr1292 || yy2arr1292 {
				r.EncodeArrayStart(7)
			} else {
				yynn1292 = 1
				for _, b := range yyq1292 {
					if b {
						yynn1292++
					}
				}
				r.EncodeMapStart(yynn1292)
				yynn1292 = 0
			}
			if yyr1292 || yy2arr1292 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1294 := z.EncBinary()
				_ = yym1294
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exitCode"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1295 := z.EncBinary()
				_ = yym1295
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			}
			if yyr1292 || yy2arr1292 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1292[1] {
					yym1297 := z.EncBinary()
					_ = yym1297
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1292[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("signal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1298 := z.EncBinary()
					_ = yym1298
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				}
			}
			if yyr1292 || yy2arr1292 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1292[2] {
					yym1300 := z.EncBinary()
					_ = yym1300
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1292[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1301 := z.EncBinary()
					_ = yym1301
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1292 || yy2arr1292 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1292[3] {
					yym1303 := z.EncBinary()
					_ = yym1303
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1292[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1304 := z.EncBinary()
					_ = yym1304
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1292 || yy2arr1292 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1292[4] {
					yy1306 := &x.StartedAt
					yym1307 := z.EncBinary()
					_ = yym1307
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1306) {
					} else if yym1307 {
						z.EncBinaryMarshal(yy1306)
					} else if !yym1307 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1306)
					} else {
						z.EncFallback(yy1306)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1292[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1308 := &x.StartedAt
					yym1309 := z.EncBinary()
					_ = yym1309
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1308) {
					} else if yym1309 {
						z.EncBinaryMarshal(yy1308)
					} else if !yym1309 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1308)
					} else {
						z.EncFallback(yy1308)
					}
				}
			}
			if yyr1292 || yy2arr1292 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1292[5] {
					yy1311 := &x.FinishedAt
					yym1312 := z.EncBinary()
					_ = yym1312
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1311) {
					} else if yym1312 {
						z.EncBinaryMarshal(yy1311)
					} else if !yym1312 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1311)
					} else {
						z.EncFallback(yy1311)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1292[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("finishedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1313 := &x.FinishedAt
					yym1314 := z.EncBinary()
					_ = yym1314
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1313) {
					} else if yym1314 {
						z.EncBinaryMarshal(yy1313)
					} else if !yym1314 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1313)
					} else {
						z.EncFallback(yy1313)
					}
				}
			}
			if yyr1292 || yy2arr1292 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1292[6] {
					yym1316 := z.EncBinary()
					_ = yym1316
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1292[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1317 := z.EncBinary()
					_ = yym1317
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1292 || yy2arr1292 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateTerminated) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1318 := z.DecBinary()
	_ = yym1318
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1319 := r.ContainerType()
		if yyct1319 == codecSelferValueTypeMap1234 {
			yyl1319 := r.ReadMapStart()
			if yyl1319 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1319, d)
			}
		} else if yyct1319 == codecSelferValueTypeArray1234 {
			yyl1319 := r.ReadArrayStart()
			if yyl1319 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1319, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateTerminated) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1320Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1320Slc
	var yyhl1320 bool = l >= 0
	for yyj1320 := 0; ; yyj1320++ {
		if yyhl1320 {
			if yyj1320 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1320Slc = r.DecodeBytes(yys1320Slc, true, true)
		yys1320 := string(yys1320Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1320 {
		case "exitCode":
			if r.TryDecodeAsNil() {
				x.ExitCode = 0
			} else {
				x.ExitCode = int32(r.DecodeInt(32))
			}
		case "signal":
			if r.TryDecodeAsNil() {
				x.Signal = 0
			} else {
				x.Signal = int32(r.DecodeInt(32))
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1325 := &x.StartedAt
				yym1326 := z.DecBinary()
				_ = yym1326
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1325) {
				} else if yym1326 {
					z.DecBinaryUnmarshal(yyv1325)
				} else if !yym1326 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1325)
				} else {
					z.DecFallback(yyv1325, false)
				}
			}
		case "finishedAt":
			if r.TryDecodeAsNil() {
				x.FinishedAt = pkg2_unversioned.Time{}
			} else {
				yyv1327 := &x.FinishedAt
				yym1328 := z.DecBinary()
				_ = yym1328
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1327) {
				} else if yym1328 {
					z.DecBinaryUnmarshal(yyv1327)
				} else if !yym1328 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1327)
				} else {
					z.DecFallback(yyv1327, false)
				}
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1320)
		} // end switch yys1320
	} // end for yyj1320
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateTerminated) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1330 int
	var yyb1330 bool
	var yyhl1330 bool = l >= 0
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExitCode = 0
	} else {
		x.ExitCode = int32(r.DecodeInt(32))
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Signal = 0
	} else {
		x.Signal = int32(r.DecodeInt(32))
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1335 := &x.StartedAt
		yym1336 := z.DecBinary()
		_ = yym1336
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1335) {
		} else if yym1336 {
			z.DecBinaryUnmarshal(yyv1335)
		} else if !yym1336 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1335)
		} else {
			z.DecFallback(yyv1335, false)
		}
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FinishedAt = pkg2_unversioned.Time{}
	} else {
		yyv1337 := &x.FinishedAt
		yym1338 := z.DecBinary()
		_ = yym1338
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1337) {
		} else if yym1338 {
			z.DecBinaryUnmarshal(yyv1337)
		} else if !yym1338 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1337)
		} else {
			z.DecFallback(yyv1337, false)
		}
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1330++
		if yyhl1330 {
			yyb1330 = yyj1330 > l
		} else {
			yyb1330 = r.CheckBreak()
		}
		if yyb1330 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1330-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerState) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1340 := z.EncBinary()
		_ = yym1340
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1341 := !z.EncBinary()
			yy2arr1341 := z.EncBasicHandle().StructToArray
			var yyq1341 [3]bool
			_, _, _ = yysep1341, yyq1341, yy2arr1341
			const yyr1341 bool = false
			yyq1341[0] = x.Waiting != nil
			yyq1341[1] = x.Running != nil
			yyq1341[2] = x.Terminated != nil
			var yynn1341 int
			if yyr1341 || yy2arr1341 {
				r.EncodeArrayStart(3)
			} else {
				yynn1341 = 0
				for _, b := range yyq1341 {
					if b {
						yynn1341++
					}
				}
				r.EncodeMapStart(yynn1341)
				yynn1341 = 0
			}
			if yyr1341 || yy2arr1341 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1341[0] {
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1341[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("waiting"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1341 || yy2arr1341 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1341[1] {
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1341[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("running"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1341 || yy2arr1341 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1341[2] {
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1341[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminated"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1341 || yy2arr1341 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerState) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1345 := z.DecBinary()
	_ = yym1345
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1346 := r.ContainerType()
		if yyct1346 == codecSelferValueTypeMap1234 {
			yyl1346 := r.ReadMapStart()
			if yyl1346 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1346, d)
			}
		} else if yyct1346 == codecSelferValueTypeArray1234 {
			yyl1346 := r.ReadArrayStart()
			if yyl1346 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1346, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerState) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1347Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1347Slc
	var yyhl1347 bool = l >= 0
	for yyj1347 := 0; ; yyj1347++ {
		if yyhl1347 {
			if yyj1347 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1347Slc = r.DecodeBytes(yys1347Slc, true, true)
		yys1347 := string(yys1347Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1347 {
		case "waiting":
			if r.TryDecodeAsNil() {
				if x.Waiting != nil {
					x.Waiting = nil
				}
			} else {
				if x.Waiting == nil {
					x.Waiting = new(ContainerStateWaiting)
				}
				x.Waiting.CodecDecodeSelf(d)
			}
		case "running":
			if r.TryDecodeAsNil() {
				if x.Running != nil {
					x.Running = nil
				}
			} else {
				if x.Running == nil {
					x.Running = new(ContainerStateRunning)
				}
				x.Running.CodecDecodeSelf(d)
			}
		case "terminated":
			if r.TryDecodeAsNil() {
				if x.Terminated != nil {
					x.Terminated = nil
				}
			} else {
				if x.Terminated == nil {
					x.Terminated = new(ContainerStateTerminated)
				}
				x.Terminated.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1347)
		} // end switch yys1347
	} // end for yyj1347
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerState) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1351 int
	var yyb1351 bool
	var yyhl1351 bool = l >= 0
	yyj1351++
	if yyhl1351 {
		yyb1351 = yyj1351 > l
	} else {
		yyb1351 = r.CheckBreak()
	}
	if yyb1351 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Waiting != nil {
			x.Waiting = nil
		}
	} else {
		if x.Waiting == nil {
			x.Waiting = new(ContainerStateWaiting)
		}
		x.Waiting.CodecDecodeSelf(d)
	}
	yyj1351++
	if yyhl1351 {
		yyb1351 = yyj1351 > l
	} else {
		yyb1351 = r.CheckBreak()
	}
	if yyb1351 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Running != nil {
			x.Running = nil
		}
	} else {
		if x.Running == nil {
			x.Running = new(ContainerStateRunning)
		}
		x.Running.CodecDecodeSelf(d)
	}
	yyj1351++
	if yyhl1351 {
		yyb1351 = yyj1351 > l
	} else {
		yyb1351 = r.CheckBreak()
	}
	if yyb1351 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Terminated != nil {
			x.Terminated = nil
		}
	} else {
		if x.Terminated == nil {
			x.Terminated = new(ContainerStateTerminated)
		}
		x.Terminated.CodecDecodeSelf(d)
	}
	for {
		yyj1351++
		if yyhl1351 {
			yyb1351 = yyj1351 > l
		} else {
			yyb1351 = r.CheckBreak()
		}
		if yyb1351 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1351-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1355 := z.EncBinary()
		_ = yym1355
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1356 := !z.EncBinary()
			yy2arr1356 := z.EncBasicHandle().StructToArray
			var yyq1356 [8]bool
			_, _, _ = yysep1356, yyq1356, yy2arr1356
			const yyr1356 bool = false
			yyq1356[1] = true
			yyq1356[2] = true
			yyq1356[7] = x.ContainerID != ""
			var yynn1356 int
			if yyr1356 || yy2arr1356 {
				r.EncodeArrayStart(8)
			} else {
				yynn1356 = 5
				for _, b := range yyq1356 {
					if b {
						yynn1356++
					}
				}
				r.EncodeMapStart(yynn1356)
				yynn1356 = 0
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1358 := z.EncBinary()
				_ = yym1358
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1359 := z.EncBinary()
				_ = yym1359
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1356[1] {
					yy1361 := &x.State
					yy1361.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1356[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("state"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1362 := &x.State
					yy1362.CodecEncodeSelf(e)
				}
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1356[2] {
					yy1364 := &x.LastTerminationState
					yy1364.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1356[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastState"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1365 := &x.LastTerminationState
					yy1365.CodecEncodeSelf(e)
				}
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1367 := z.EncBinary()
				_ = yym1367
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ready"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1368 := z.EncBinary()
				_ = yym1368
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1370 := z.EncBinary()
				_ = yym1370
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("restartCount"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1371 := z.EncBinary()
				_ = yym1371
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1373 := z.EncBinary()
				_ = yym1373
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1374 := z.EncBinary()
				_ = yym1374
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1376 := z.EncBinary()
				_ = yym1376
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("imageID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1377 := z.EncBinary()
				_ = yym1377
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1356[7] {
					yym1379 := z.EncBinary()
					_ = yym1379
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1356[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1380 := z.EncBinary()
					_ = yym1380
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1356 || yy2arr1356 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1381 := z.DecBinary()
	_ = yym1381
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1382 := r.ContainerType()
		if yyct1382 == codecSelferValueTypeMap1234 {
			yyl1382 := r.ReadMapStart()
			if yyl1382 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1382, d)
			}
		} else if yyct1382 == codecSelferValueTypeArray1234 {
			yyl1382 := r.ReadArrayStart()
			if yyl1382 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1382, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1383Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1383Slc
	var yyhl1383 bool = l >= 0
	for yyj1383 := 0; ; yyj1383++ {
		if yyhl1383 {
			if yyj1383 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1383Slc = r.DecodeBytes(yys1383Slc, true, true)
		yys1383 := string(yys1383Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1383 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "state":
			if r.TryDecodeAsNil() {
				x.State = ContainerState{}
			} else {
				yyv1385 := &x.State
				yyv1385.CodecDecodeSelf(d)
			}
		case "lastState":
			if r.TryDecodeAsNil() {
				x.LastTerminationState = ContainerState{}
			} else {
				yyv1386 := &x.LastTerminationState
				yyv1386.CodecDecodeSelf(d)
			}
		case "ready":
			if r.TryDecodeAsNil() {
				x.Ready = false
			} else {
				x.Ready = bool(r.DecodeBool())
			}
		case "restartCount":
			if r.TryDecodeAsNil() {
				x.RestartCount = 0
			} else {
				x.RestartCount = int32(r.DecodeInt(32))
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.Image = ""
			} else {
				x.Image = string(r.DecodeString())
			}
		case "imageID":
			if r.TryDecodeAsNil() {
				x.ImageID = ""
			} else {
				x.ImageID = string(r.DecodeString())
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1383)
		} // end switch yys1383
	} // end for yyj1383
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1392 int
	var yyb1392 bool
	var yyhl1392 bool = l >= 0
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.State = ContainerState{}
	} else {
		yyv1394 := &x.State
		yyv1394.CodecDecodeSelf(d)
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTerminationState = ContainerState{}
	} else {
		yyv1395 := &x.LastTerminationState
		yyv1395.CodecDecodeSelf(d)
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ready = false
	} else {
		x.Ready = bool(r.DecodeBool())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartCount = 0
	} else {
		x.RestartCount = int32(r.DecodeInt(32))
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImageID = ""
	} else {
		x.ImageID = string(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1392++
		if yyhl1392 {
			yyb1392 = yyj1392 > l
		} else {
			yyb1392 = r.CheckBreak()
		}
		if yyb1392 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1392-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PodPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1401 := z.EncBinary()
	_ = yym1401
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PodPhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1402 := z.DecBinary()
	_ = yym1402
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PodConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1403 := z.EncBinary()
	_ = yym1403
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PodConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1404 := z.DecBinary()
	_ = yym1404
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1405 := z.EncBinary()
		_ = yym1405
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1406 := !z.EncBinary()
			yy2arr1406 := z.EncBasicHandle().StructToArray
			var yyq1406 [6]bool
			_, _, _ = yysep1406, yyq1406, yy2arr1406
			const yyr1406 bool = false
			yyq1406[2] = true
			yyq1406[3] = true
			yyq1406[4] = x.Reason != ""
			yyq1406[5] = x.Message != ""
			var yynn1406 int
			if yyr1406 || yy2arr1406 {
				r.EncodeArrayStart(6)
			} else {
				yynn1406 = 2
				for _, b := range yyq1406 {
					if b {
						yynn1406++
					}
				}
				r.EncodeMapStart(yynn1406)
				yynn1406 = 0
			}
			if yyr1406 || yy2arr1406 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr1406 || yy2arr1406 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr1406 || yy2arr1406 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1406[2] {
					yy1410 := &x.LastProbeTime
					yym1411 := z.EncBinary()
					_ = yym1411
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1410) {
					} else if yym1411 {
						z.EncBinaryMarshal(yy1410)
					} else if !yym1411 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1410)
					} else {
						z.EncFallback(yy1410)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1406[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastProbeTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1412 := &x.LastProbeTime
					yym1413 := z.EncBinary()
					_ = yym1413
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1412) {
					} else if yym1413 {
						z.EncBinaryMarshal(yy1412)
					} else if !yym1413 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1412)
					} else {
						z.EncFallback(yy1412)
					}
				}
			}
			if yyr1406 || yy2arr1406 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1406[3] {
					yy1415 := &x.LastTransitionTime
					yym1416 := z.EncBinary()
					_ = yym1416
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1415) {
					} else if yym1416 {
						z.EncBinaryMarshal(yy1415)
					} else if !yym1416 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1415)
					} else {
						z.EncFallback(yy1415)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1406[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1417 := &x.LastTransitionTime
					yym1418 := z.EncBinary()
					_ = yym1418
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1417) {
					} else if yym1418 {
						z.EncBinaryMarshal(yy1417)
					} else if !yym1418 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1417)
					} else {
						z.EncFallback(yy1417)
					}
				}
			}
			if yyr1406 || yy2arr1406 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1406[4] {
					yym1420 := z.EncBinary()
					_ = yym1420
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1406[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1421 := z.EncBinary()
					_ = yym1421
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1406 || yy2arr1406 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1406[5] {
					yym1423 := z.EncBinary()
					_ = yym1423
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1406[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1424 := z.EncBinary()
					_ = yym1424
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1406 || yy2arr1406 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1425 := z.DecBinary()
	_ = yym1425
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1426 := r.ContainerType()
		if yyct1426 == codecSelferValueTypeMap1234 {
			yyl1426 := r.ReadMapStart()
			if yyl1426 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1426, d)
			}
		} else if yyct1426 == codecSelferValueTypeArray1234 {
			yyl1426 := r.ReadArrayStart()
			if yyl1426 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1426, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1427Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1427Slc
	var yyhl1427 bool = l >= 0
	for yyj1427 := 0; ; yyj1427++ {
		if yyhl1427 {
			if yyj1427 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1427Slc = r.DecodeBytes(yys1427Slc, true, true)
		yys1427 := string(yys1427Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1427 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = PodConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastProbeTime":
			if r.TryDecodeAsNil() {
				x.LastProbeTime = pkg2_unversioned.Time{}
			} else {
				yyv1430 := &x.LastProbeTime
				yym1431 := z.DecBinary()
				_ = yym1431
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1430) {
				} else if yym1431 {
					z.DecBinaryUnmarshal(yyv1430)
				} else if !yym1431 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1430)
				} else {
					z.DecFallback(yyv1430, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv1432 := &x.LastTransitionTime
				yym1433 := z.DecBinary()
				_ = yym1433
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1432) {
				} else if yym1433 {
					z.DecBinaryUnmarshal(yyv1432)
				} else if !yym1433 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1432)
				} else {
					z.DecFallback(yyv1432, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1427)
		} // end switch yys1427
	} // end for yyj1427
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1436 int
	var yyb1436 bool
	var yyhl1436 bool = l >= 0
	yyj1436++
	if yyhl1436 {
		yyb1436 = yyj1436 > l
	} else {
		yyb1436 = r.CheckBreak()
	}
	if yyb1436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = PodConditionType(r.DecodeString())
	}
	yyj1436++
	if yyhl1436 {
		yyb1436 = yyj1436 > l
	} else {
		yyb1436 = r.CheckBreak()
	}
	if yyb1436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj1436++
	if yyhl1436 {
		yyb1436 = yyj1436 > l
	} else {
		yyb1436 = r.CheckBreak()
	}
	if yyb1436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastProbeTime = pkg2_unversioned.Time{}
	} else {
		yyv1439 := &x.LastProbeTime
		yym1440 := z.DecBinary()
		_ = yym1440
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1439) {
		} else if yym1440 {
			z.DecBinaryUnmarshal(yyv1439)
		} else if !yym1440 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1439)
		} else {
			z.DecFallback(yyv1439, false)
		}
	}
	yyj1436++
	if yyhl1436 {
		yyb1436 = yyj1436 > l
	} else {
		yyb1436 = r.CheckBreak()
	}
	if yyb1436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv1441 := &x.LastTransitionTime
		yym1442 := z.DecBinary()
		_ = yym1442
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1441) {
		} else if yym1442 {
			z.DecBinaryUnmarshal(yyv1441)
		} else if !yym1442 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1441)
		} else {
			z.DecFallback(yyv1441, false)
		}
	}
	yyj1436++
	if yyhl1436 {
		yyb1436 = yyj1436 > l
	} else {
		yyb1436 = r.CheckBreak()
	}
	if yyb1436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1436++
	if yyhl1436 {
		yyb1436 = yyj1436 > l
	} else {
		yyb1436 = r.CheckBreak()
	}
	if yyb1436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1436++
		if yyhl1436 {
			yyb1436 = yyj1436 > l
		} else {
			yyb1436 = r.CheckBreak()
		}
		if yyb1436 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1436-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x RestartPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1445 := z.EncBinary()
	_ = yym1445
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *RestartPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1446 := z.DecBinary()
	_ = yym1446
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x DNSPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1447 := z.EncBinary()
	_ = yym1447
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *DNSPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1448 := z.DecBinary()
	_ = yym1448
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1449 := z.EncBinary()
		_ = yym1449
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1450 := !z.EncBinary()
			yy2arr1450 := z.EncBasicHandle().StructToArray
			var yyq1450 [15]bool
			_, _, _ = yysep1450, yyq1450, yy2arr1450
			const yyr1450 bool = false
			yyq1450[0] = len(x.Volumes) != 0
			yyq1450[2] = x.RestartPolicy != ""
			yyq1450[3] = x.TerminationGracePeriodSeconds != nil
			yyq1450[4] = x.ActiveDeadlineSeconds != nil
			yyq1450[5] = x.DNSPolicy != ""
			yyq1450[6] = len(x.NodeSelector) != 0
			yyq1450[7] = x.ServiceAccountName != ""
			yyq1450[8] = x.DeprecatedServiceAccount != ""
			yyq1450[9] = x.NodeName != ""
			yyq1450[10] = x.HostNetwork != false
			yyq1450[11] = x.HostPID != false
			yyq1450[12] = x.HostIPC != false
			yyq1450[13] = x.SecurityContext != nil
			yyq1450[14] = len(x.ImagePullSecrets) != 0
			var yynn1450 int
			if yyr1450 || yy2arr1450 {
				r.EncodeArrayStart(15)
			} else {
				yynn1450 = 1
				for _, b := range yyq1450 {
					if b {
						yynn1450++
					}
				}
				r.EncodeMapStart(yynn1450)
				yynn1450 = 0
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[0] {
					if x.Volumes == nil {
						r.EncodeNil()
					} else {
						yym1452 := z.EncBinary()
						_ = yym1452
						if false {
						} else {
							h.encSliceVolume(([]Volume)(x.Volumes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Volumes == nil {
						r.EncodeNil()
					} else {
						yym1453 := z.EncBinary()
						_ = yym1453
						if false {
						} else {
							h.encSliceVolume(([]Volume)(x.Volumes), e)
						}
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym1455 := z.EncBinary()
					_ = yym1455
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containers"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym1456 := z.EncBinary()
					_ = yym1456
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[2] {
					x.RestartPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1450[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("restartPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.RestartPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[3] {
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy1459 := *x.TerminationGracePeriodSeconds
						yym1460 := z.EncBinary()
						_ = yym1460
						if false {
						} else {
							r.EncodeInt(int64(yy1459))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationGracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy1461 := *x.TerminationGracePeriodSeconds
						yym1462 := z.EncBinary()
						_ = yym1462
						if false {
						} else {
							r.EncodeInt(int64(yy1461))
						}
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[4] {
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy1464 := *x.ActiveDeadlineSeconds
						yym1465 := z.EncBinary()
						_ = yym1465
						if false {
						} else {
							r.EncodeInt(int64(yy1464))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("activeDeadlineSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy1466 := *x.ActiveDeadlineSeconds
						yym1467 := z.EncBinary()
						_ = yym1467
						if false {
						} else {
							r.EncodeInt(int64(yy1466))
						}
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[5] {
					x.DNSPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1450[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("dnsPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.DNSPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[6] {
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym1470 := z.EncBinary()
						_ = yym1470
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym1471 := z.EncBinary()
						_ = yym1471
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[7] {
					yym1473 := z.EncBinary()
					_ = yym1473
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1450[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("serviceAccountName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1474 := z.EncBinary()
					_ = yym1474
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[8] {
					yym1476 := z.EncBinary()
					_ = yym1476
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DeprecatedServiceAccount))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1450[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("serviceAccount"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1477 := z.EncBinary()
					_ = yym1477
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DeprecatedServiceAccount))
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[9] {
					yym1479 := z.EncBinary()
					_ = yym1479
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1450[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1480 := z.EncBinary()
					_ = yym1480
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[10] {
					yym1482 := z.EncBinary()
					_ = yym1482
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1450[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostNetwork"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1483 := z.EncBinary()
					_ = yym1483
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[11] {
					yym1485 := z.EncBinary()
					_ = yym1485
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1450[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1486 := z.EncBinary()
					_ = yym1486
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[12] {
					yym1488 := z.EncBinary()
					_ = yym1488
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1450[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIPC"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1489 := z.EncBinary()
					_ = yym1489
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[13] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1450[14] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym1492 := z.EncBinary()
						_ = yym1492
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym1493 := z.EncBinary()
						_ = yym1493
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1494 := z.DecBinary()
	_ = yym1494
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1495 := r.ContainerType()
		if yyct1495 == codecSelferValueTypeMap1234 {
			yyl1495 := r.ReadMapStart()
			if yyl1495 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1495, d)
			}
		} else if yyct1495 == codecSelferValueTypeArray1234 {
			yyl1495 := r.ReadArrayStart()
			if yyl1495 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1495, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1496Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1496Slc
	var yyhl1496 bool = l >= 0
	for yyj1496 := 0; ; yyj1496++ {
		if yyhl1496 {
			if yyj1496 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1496Slc = r.DecodeBytes(yys1496Slc, true, true)
		yys1496 := string(yys1496Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1496 {
		case "volumes":
			if r.TryDecodeAsNil() {
				x.Volumes = nil
			} else {
				yyv1497 := &x.Volumes
				yym1498 := z.DecBinary()
				_ = yym1498
				if false {
				} else {
					h.decSliceVolume((*[]Volume)(yyv1497), d)
				}
			}
		case "containers":
			if r.TryDecodeAsNil() {
				x.Containers = nil
			} else {
				yyv1499 := &x.Containers
				yym1500 := z.DecBinary()
				_ = yym1500
				if false {
				} else {
					h.decSliceContainer((*[]Container)(yyv1499), d)
				}
			}
		case "restartPolicy":
			if r.TryDecodeAsNil() {
				x.RestartPolicy = ""
			} else {
				x.RestartPolicy = RestartPolicy(r.DecodeString())
			}
		case "terminationGracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.TerminationGracePeriodSeconds != nil {
					x.TerminationGracePeriodSeconds = nil
				}
			} else {
				if x.TerminationGracePeriodSeconds == nil {
					x.TerminationGracePeriodSeconds = new(int64)
				}
				yym1503 := z.DecBinary()
				_ = yym1503
				if false {
				} else {
					*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "activeDeadlineSeconds":
			if r.TryDecodeAsNil() {
				if x.ActiveDeadlineSeconds != nil {
					x.ActiveDeadlineSeconds = nil
				}
			} else {
				if x.ActiveDeadlineSeconds == nil {
					x.ActiveDeadlineSeconds = new(int64)
				}
				yym1505 := z.DecBinary()
				_ = yym1505
				if false {
				} else {
					*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "dnsPolicy":
			if r.TryDecodeAsNil() {
				x.DNSPolicy = ""
			} else {
				x.DNSPolicy = DNSPolicy(r.DecodeString())
			}
		case "nodeSelector":
			if r.TryDecodeAsNil() {
				x.NodeSelector = nil
			} else {
				yyv1507 := &x.NodeSelector
				yym1508 := z.DecBinary()
				_ = yym1508
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1507, false, d)
				}
			}
		case "serviceAccountName":
			if r.TryDecodeAsNil() {
				x.ServiceAccountName = ""
			} else {
				x.ServiceAccountName = string(r.DecodeString())
			}
		case "serviceAccount":
			if r.TryDecodeAsNil() {
				x.DeprecatedServiceAccount = ""
			} else {
				x.DeprecatedServiceAccount = string(r.DecodeString())
			}
		case "nodeName":
			if r.TryDecodeAsNil() {
				x.NodeName = ""
			} else {
				x.NodeName = string(r.DecodeString())
			}
		case "hostNetwork":
			if r.TryDecodeAsNil() {
				x.HostNetwork = false
			} else {
				x.HostNetwork = bool(r.DecodeBool())
			}
		case "hostPID":
			if r.TryDecodeAsNil() {
				x.HostPID = false
			} else {
				x.HostPID = bool(r.DecodeBool())
			}
		case "hostIPC":
			if r.TryDecodeAsNil() {
				x.HostIPC = false
			} else {
				x.HostIPC = bool(r.DecodeBool())
			}
		case "securityContext":
			if r.TryDecodeAsNil() {
				if x.SecurityContext != nil {
					x.SecurityContext = nil
				}
			} else {
				if x.SecurityContext == nil {
					x.SecurityContext = new(PodSecurityContext)
				}
				x.SecurityContext.CodecDecodeSelf(d)
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv1516 := &x.ImagePullSecrets
				yym1517 := z.DecBinary()
				_ = yym1517
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv1516), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1496)
		} // end switch yys1496
	} // end for yyj1496
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1518 int
	var yyb1518 bool
	var yyhl1518 bool = l >= 0
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Volumes = nil
	} else {
		yyv1519 := &x.Volumes
		yym1520 := z.DecBinary()
		_ = yym1520
		if false {
		} else {
			h.decSliceVolume((*[]Volume)(yyv1519), d)
		}
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Containers = nil
	} else {
		yyv1521 := &x.Containers
		yym1522 := z.DecBinary()
		_ = yym1522
		if false {
		} else {
			h.decSliceContainer((*[]Container)(yyv1521), d)
		}
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartPolicy = ""
	} else {
		x.RestartPolicy = RestartPolicy(r.DecodeString())
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TerminationGracePeriodSeconds != nil {
			x.TerminationGracePeriodSeconds = nil
		}
	} else {
		if x.TerminationGracePeriodSeconds == nil {
			x.TerminationGracePeriodSeconds = new(int64)
		}
		yym1525 := z.DecBinary()
		_ = yym1525
		if false {
		} else {
			*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ActiveDeadlineSeconds != nil {
			x.ActiveDeadlineSeconds = nil
		}
	} else {
		if x.ActiveDeadlineSeconds == nil {
			x.ActiveDeadlineSeconds = new(int64)
		}
		yym1527 := z.DecBinary()
		_ = yym1527
		if false {
		} else {
			*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DNSPolicy = ""
	} else {
		x.DNSPolicy = DNSPolicy(r.DecodeString())
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeSelector = nil
	} else {
		yyv1529 := &x.NodeSelector
		yym1530 := z.DecBinary()
		_ = yym1530
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1529, false, d)
		}
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ServiceAccountName = ""
	} else {
		x.ServiceAccountName = string(r.DecodeString())
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DeprecatedServiceAccount = ""
	} else {
		x.DeprecatedServiceAccount = string(r.DecodeString())
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeName = ""
	} else {
		x.NodeName = string(r.DecodeString())
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostNetwork = false
	} else {
		x.HostNetwork = bool(r.DecodeBool())
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPID = false
	} else {
		x.HostPID = bool(r.DecodeBool())
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIPC = false
	} else {
		x.HostIPC = bool(r.DecodeBool())
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(PodSecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj1518++
	if yyhl1518 {
		yyb1518 = yyj1518 > l
	} else {
		yyb1518 = r.CheckBreak()
	}
	if yyb1518 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv1538 := &x.ImagePullSecrets
		yym1539 := z.DecBinary()
		_ = yym1539
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv1538), d)
		}
	}
	for {
		yyj1518++
		if yyhl1518 {
			yyb1518 = yyj1518 > l
		} else {
			yyb1518 = r.CheckBreak()
		}
		if yyb1518 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1518-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1540 := z.EncBinary()
		_ = yym1540
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1541 := !z.EncBinary()
			yy2arr1541 := z.EncBasicHandle().StructToArray
			var yyq1541 [5]bool
			_, _, _ = yysep1541, yyq1541, yy2arr1541
			const yyr1541 bool = false
			yyq1541[0] = x.SELinuxOptions != nil
			yyq1541[1] = x.RunAsUser != nil
			yyq1541[2] = x.RunAsNonRoot != nil
			yyq1541[3] = len(x.SupplementalGroups) != 0
			yyq1541[4] = x.FSGroup != nil
			var yynn1541 int
			if yyr1541 || yy2arr1541 {
				r.EncodeArrayStart(5)
			} else {
				yynn1541 = 0
				for _, b := range yyq1541 {
					if b {
						yynn1541++
					}
				}
				r.EncodeMapStart(yynn1541)
				yynn1541 = 0
			}
			if yyr1541 || yy2arr1541 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1541[0] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1541[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1541 || yy2arr1541 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1541[1] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy1544 := *x.RunAsUser
						yym1545 := z.EncBinary()
						_ = yym1545
						if false {
						} else {
							r.EncodeInt(int64(yy1544))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1541[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy1546 := *x.RunAsUser
						yym1547 := z.EncBinary()
						_ = yym1547
						if false {
						} else {
							r.EncodeInt(int64(yy1546))
						}
					}
				}
			}
			if yyr1541 || yy2arr1541 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1541[2] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy1549 := *x.RunAsNonRoot
						yym1550 := z.EncBinary()
						_ = yym1550
						if false {
						} else {
							r.EncodeBool(bool(yy1549))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1541[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy1551 := *x.RunAsNonRoot
						yym1552 := z.EncBinary()
						_ = yym1552
						if false {
						} else {
							r.EncodeBool(bool(yy1551))
						}
					}
				}
			}
			if yyr1541 || yy2arr1541 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1541[3] {
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym1554 := z.EncBinary()
						_ = yym1554
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1541[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("supplementalGroups"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym1555 := z.EncBinary()
						_ = yym1555
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				}
			}
			if yyr1541 || yy2arr1541 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1541[4] {
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy1557 := *x.FSGroup
						yym1558 := z.EncBinary()
						_ = yym1558
						if false {
						} else {
							r.EncodeInt(int64(yy1557))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1541[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsGroup"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy1559 := *x.FSGroup
						yym1560 := z.EncBinary()
						_ = yym1560
						if false {
						} else {
							r.EncodeInt(int64(yy1559))
						}
					}
				}
			}
			if yyr1541 || yy2arr1541 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodSecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1561 := z.DecBinary()
	_ = yym1561
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1562 := r.ContainerType()
		if yyct1562 == codecSelferValueTypeMap1234 {
			yyl1562 := r.ReadMapStart()
			if yyl1562 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1562, d)
			}
		} else if yyct1562 == codecSelferValueTypeArray1234 {
			yyl1562 := r.ReadArrayStart()
			if yyl1562 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1562, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1563Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1563Slc
	var yyhl1563 bool = l >= 0
	for yyj1563 := 0; ; yyj1563++ {
		if yyhl1563 {
			if yyj1563 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1563Slc = r.DecodeBytes(yys1563Slc, true, true)
		yys1563 := string(yys1563Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1563 {
		case "seLinuxOptions":
			if r.TryDecodeAsNil() {
				if x.SELinuxOptions != nil {
					x.SELinuxOptions = nil
				}
			} else {
				if x.SELinuxOptions == nil {
					x.SELinuxOptions = new(SELinuxOptions)
				}
				x.SELinuxOptions.CodecDecodeSelf(d)
			}
		case "runAsUser":
			if r.TryDecodeAsNil() {
				if x.RunAsUser != nil {
					x.RunAsUser = nil
				}
			} else {
				if x.RunAsUser == nil {
					x.RunAsUser = new(int64)
				}
				yym1566 := z.DecBinary()
				_ = yym1566
				if false {
				} else {
					*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
				}
			}
		case "runAsNonRoot":
			if r.TryDecodeAsNil() {
				if x.RunAsNonRoot != nil {
					x.RunAsNonRoot = nil
				}
			} else {
				if x.RunAsNonRoot == nil {
					x.RunAsNonRoot = new(bool)
				}
				yym1568 := z.DecBinary()
				_ = yym1568
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "supplementalGroups":
			if r.TryDecodeAsNil() {
				x.SupplementalGroups = nil
			} else {
				yyv1569 := &x.SupplementalGroups
				yym1570 := z.DecBinary()
				_ = yym1570
				if false {
				} else {
					z.F.DecSliceInt64X(yyv1569, false, d)
				}
			}
		case "fsGroup":
			if r.TryDecodeAsNil() {
				if x.FSGroup != nil {
					x.FSGroup = nil
				}
			} else {
				if x.FSGroup == nil {
					x.FSGroup = new(int64)
				}
				yym1572 := z.DecBinary()
				_ = yym1572
				if false {
				} else {
					*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1563)
		} // end switch yys1563
	} // end for yyj1563
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1573 int
	var yyb1573 bool
	var yyhl1573 bool = l >= 0
	yyj1573++
	if yyhl1573 {
		yyb1573 = yyj1573 > l
	} else {
		yyb1573 = r.CheckBreak()
	}
	if yyb1573 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj1573++
	if yyhl1573 {
		yyb1573 = yyj1573 > l
	} else {
		yyb1573 = r.CheckBreak()
	}
	if yyb1573 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym1576 := z.DecBinary()
		_ = yym1576
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj1573++
	if yyhl1573 {
		yyb1573 = yyj1573 > l
	} else {
		yyb1573 = r.CheckBreak()
	}
	if yyb1573 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym1578 := z.DecBinary()
		_ = yym1578
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj1573++
	if yyhl1573 {
		yyb1573 = yyj1573 > l
	} else {
		yyb1573 = r.CheckBreak()
	}
	if yyb1573 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SupplementalGroups = nil
	} else {
		yyv1579 := &x.SupplementalGroups
		yym1580 := z.DecBinary()
		_ = yym1580
		if false {
		} else {
			z.F.DecSliceInt64X(yyv1579, false, d)
		}
	}
	yyj1573++
	if yyhl1573 {
		yyb1573 = yyj1573 > l
	} else {
		yyb1573 = r.CheckBreak()
	}
	if yyb1573 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FSGroup != nil {
			x.FSGroup = nil
		}
	} else {
		if x.FSGroup == nil {
			x.FSGroup = new(int64)
		}
		yym1582 := z.DecBinary()
		_ = yym1582
		if false {
		} else {
			*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj1573++
		if yyhl1573 {
			yyb1573 = yyj1573 > l
		} else {
			yyb1573 = r.CheckBreak()
		}
		if yyb1573 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1573-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1583 := z.EncBinary()
		_ = yym1583
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1584 := !z.EncBinary()
			yy2arr1584 := z.EncBasicHandle().StructToArray
			var yyq1584 [8]bool
			_, _, _ = yysep1584, yyq1584, yy2arr1584
			const yyr1584 bool = false
			yyq1584[0] = x.Phase != ""
			yyq1584[1] = len(x.Conditions) != 0
			yyq1584[2] = x.Message != ""
			yyq1584[3] = x.Reason != ""
			yyq1584[4] = x.HostIP != ""
			yyq1584[5] = x.PodIP != ""
			yyq1584[6] = x.StartTime != nil
			yyq1584[7] = len(x.ContainerStatuses) != 0
			var yynn1584 int
			if yyr1584 || yy2arr1584 {
				r.EncodeArrayStart(8)
			} else {
				yynn1584 = 0
				for _, b := range yyq1584 {
					if b {
						yynn1584++
					}
				}
				r.EncodeMapStart(yynn1584)
				yynn1584 = 0
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1584[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1584[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1584[1] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym1587 := z.EncBinary()
						_ = yym1587
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1584[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym1588 := z.EncBinary()
						_ = yym1588
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1584[2] {
					yym1590 := z.EncBinary()
					_ = yym1590
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1584[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1591 := z.EncBinary()
					_ = yym1591
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1584[3] {
					yym1593 := z.EncBinary()
					_ = yym1593
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1584[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1594 := z.EncBinary()
					_ = yym1594
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1584[4] {
					yym1596 := z.EncBinary()
					_ = yym1596
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1584[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1597 := z.EncBinary()
					_ = yym1597
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1584[5] {
					yym1599 := z.EncBinary()
					_ = yym1599
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1584[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1600 := z.EncBinary()
					_ = yym1600
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				}
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1584[6] {
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym1602 := z.EncBinary()
						_ = yym1602
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym1602 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym1602 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1584[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym1603 := z.EncBinary()
						_ = yym1603
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym1603 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym1603 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				}
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1584[7] {
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym1605 := z.EncBinary()
						_ = yym1605
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1584[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerStatuses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym1606 := z.EncBinary()
						_ = yym1606
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				}
			}
			if yyr1584 || yy2arr1584 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1607 := z.DecBinary()
	_ = yym1607
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1608 := r.ContainerType()
		if yyct1608 == codecSelferValueTypeMap1234 {
			yyl1608 := r.ReadMapStart()
			if yyl1608 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1608, d)
			}
		} else if yyct1608 == codecSelferValueTypeArray1234 {
			yyl1608 := r.ReadArrayStart()
			if yyl1608 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1608, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1609Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1609Slc
	var yyhl1609 bool = l >= 0
	for yyj1609 := 0; ; yyj1609++ {
		if yyhl1609 {
			if yyj1609 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1609Slc = r.DecodeBytes(yys1609Slc, true, true)
		yys1609 := string(yys1609Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1609 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PodPhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv1611 := &x.Conditions
				yym1612 := z.DecBinary()
				_ = yym1612
				if false {
				} else {
					h.decSlicePodCondition((*[]PodCondition)(yyv1611), d)
				}
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "hostIP":
			if r.TryDecodeAsNil() {
				x.HostIP = ""
			} else {
				x.HostIP = string(r.DecodeString())
			}
		case "podIP":
			if r.TryDecodeAsNil() {
				x.PodIP = ""
			} else {
				x.PodIP = string(r.DecodeString())
			}
		case "startTime":
			if r.TryDecodeAsNil() {
				if x.StartTime != nil {
					x.StartTime = nil
				}
			} else {
				if x.StartTime == nil {
					x.StartTime = new(pkg2_unversioned.Time)
				}
				yym1618 := z.DecBinary()
				_ = yym1618
				if false {
				} else if z.HasExtensions() && z.DecExt(x.StartTime) {
				} else if yym1618 {
					z.DecBinaryUnmarshal(x.StartTime)
				} else if !yym1618 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.StartTime)
				} else {
					z.DecFallback(x.StartTime, false)
				}
			}
		case "containerStatuses":
			if r.TryDecodeAsNil() {
				x.ContainerStatuses = nil
			} else {
				yyv1619 := &x.ContainerStatuses
				yym1620 := z.DecBinary()
				_ = yym1620
				if false {
				} else {
					h.decSliceContainerStatus((*[]ContainerStatus)(yyv1619), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1609)
		} // end switch yys1609
	} // end for yyj1609
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1621 int
	var yyb1621 bool
	var yyhl1621 bool = l >= 0
	yyj1621++
	if yyhl1621 {
		yyb1621 = yyj1621 > l
	} else {
		yyb1621 = r.CheckBreak()
	}
	if yyb1621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PodPhase(r.DecodeString())
	}
	yyj1621++
	if yyhl1621 {
		yyb1621 = yyj1621 > l
	} else {
		yyb1621 = r.CheckBreak()
	}
	if yyb1621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv1623 := &x.Conditions
		yym1624 := z.DecBinary()
		_ = yym1624
		if false {
		} else {
			h.decSlicePodCondition((*[]PodCondition)(yyv1623), d)
		}
	}
	yyj1621++
	if yyhl1621 {
		yyb1621 = yyj1621 > l
	} else {
		yyb1621 = r.CheckBreak()
	}
	if yyb1621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1621++
	if yyhl1621 {
		yyb1621 = yyj1621 > l
	} else {
		yyb1621 = r.CheckBreak()
	}
	if yyb1621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1621++
	if yyhl1621 {
		yyb1621 = yyj1621 > l
	} else {
		yyb1621 = r.CheckBreak()
	}
	if yyb1621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	yyj1621++
	if yyhl1621 {
		yyb1621 = yyj1621 > l
	} else {
		yyb1621 = r.CheckBreak()
	}
	if yyb1621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodIP = ""
	} else {
		x.PodIP = string(r.DecodeString())
	}
	yyj1621++
	if yyhl1621 {
		yyb1621 = yyj1621 > l
	} else {
		yyb1621 = r.CheckBreak()
	}
	if yyb1621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.StartTime != nil {
			x.StartTime = nil
		}
	} else {
		if x.StartTime == nil {
			x.StartTime = new(pkg2_unversioned.Time)
		}
		yym1630 := z.DecBinary()
		_ = yym1630
		if false {
		} else if z.HasExtensions() && z.DecExt(x.StartTime) {
		} else if yym1630 {
			z.DecBinaryUnmarshal(x.StartTime)
		} else if !yym1630 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.StartTime)
		} else {
			z.DecFallback(x.StartTime, false)
		}
	}
	yyj1621++
	if yyhl1621 {
		yyb1621 = yyj1621 > l
	} else {
		yyb1621 = r.CheckBreak()
	}
	if yyb1621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerStatuses = nil
	} else {
		yyv1631 := &x.ContainerStatuses
		yym1632 := z.DecBinary()
		_ = yym1632
		if false {
		} else {
			h.decSliceContainerStatus((*[]ContainerStatus)(yyv1631), d)
		}
	}
	for {
		yyj1621++
		if yyhl1621 {
			yyb1621 = yyj1621 > l
		} else {
			yyb1621 = r.CheckBreak()
		}
		if yyb1621 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1621-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodStatusResult) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1633 := z.EncBinary()
		_ = yym1633
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1634 := !z.EncBinary()
			yy2arr1634 := z.EncBasicHandle().StructToArray
			var yyq1634 [4]bool
			_, _, _ = yysep1634, yyq1634, yy2arr1634
			const yyr1634 bool = false
			yyq1634[0] = x.Kind != ""
			yyq1634[1] = x.APIVersion != ""
			yyq1634[2] = true
			yyq1634[3] = true
			var yynn1634 int
			if yyr1634 || yy2arr1634 {
				r.EncodeArrayStart(4)
			} else {
				yynn1634 = 0
				for _, b := range yyq1634 {
					if b {
						yynn1634++
					}
				}
				r.EncodeMapStart(yynn1634)
				yynn1634 = 0
			}
			if yyr1634 || yy2arr1634 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1634[0] {
					yym1636 := z.EncBinary()
					_ = yym1636
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1634[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1637 := z.EncBinary()
					_ = yym1637
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1634 || yy2arr1634 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1634[1] {
					yym1639 := z.EncBinary()
					_ = yym1639
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1634[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1640 := z.EncBinary()
					_ = yym1640
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1634 || yy2arr1634 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1634[2] {
					yy1642 := &x.ObjectMeta
					yy1642.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1634[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1643 := &x.ObjectMeta
					yy1643.CodecEncodeSelf(e)
				}
			}
			if yyr1634 || yy2arr1634 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1634[3] {
					yy1645 := &x.Status
					yy1645.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1634[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1646 := &x.Status
					yy1646.CodecEncodeSelf(e)
				}
			}
			if yyr1634 || yy2arr1634 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodStatusResult) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1647 := z.DecBinary()
	_ = yym1647
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1648 := r.ContainerType()
		if yyct1648 == codecSelferValueTypeMap1234 {
			yyl1648 := r.ReadMapStart()
			if yyl1648 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1648, d)
			}
		} else if yyct1648 == codecSelferValueTypeArray1234 {
			yyl1648 := r.ReadArrayStart()
			if yyl1648 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1648, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodStatusResult) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1649Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1649Slc
	var yyhl1649 bool = l >= 0
	for yyj1649 := 0; ; yyj1649++ {
		if yyhl1649 {
			if yyj1649 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1649Slc = r.DecodeBytes(yys1649Slc, true, true)
		yys1649 := string(yys1649Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1649 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1652 := &x.ObjectMeta
				yyv1652.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv1653 := &x.Status
				yyv1653.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1649)
		} // end switch yys1649
	} // end for yyj1649
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodStatusResult) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1654 int
	var yyb1654 bool
	var yyhl1654 bool = l >= 0
	yyj1654++
	if yyhl1654 {
		yyb1654 = yyj1654 > l
	} else {
		yyb1654 = r.CheckBreak()
	}
	if yyb1654 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1654++
	if yyhl1654 {
		yyb1654 = yyj1654 > l
	} else {
		yyb1654 = r.CheckBreak()
	}
	if yyb1654 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1654++
	if yyhl1654 {
		yyb1654 = yyj1654 > l
	} else {
		yyb1654 = r.CheckBreak()
	}
	if yyb1654 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1657 := &x.ObjectMeta
		yyv1657.CodecDecodeSelf(d)
	}
	yyj1654++
	if yyhl1654 {
		yyb1654 = yyj1654 > l
	} else {
		yyb1654 = r.CheckBreak()
	}
	if yyb1654 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv1658 := &x.Status
		yyv1658.CodecDecodeSelf(d)
	}
	for {
		yyj1654++
		if yyhl1654 {
			yyb1654 = yyj1654 > l
		} else {
			yyb1654 = r.CheckBreak()
		}
		if yyb1654 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1654-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Pod) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1659 := z.EncBinary()
		_ = yym1659
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1660 := !z.EncBinary()
			yy2arr1660 := z.EncBasicHandle().StructToArray
			var yyq1660 [5]bool
			_, _, _ = yysep1660, yyq1660, yy2arr1660
			const yyr1660 bool = false
			yyq1660[0] = x.Kind != ""
			yyq1660[1] = x.APIVersion != ""
			yyq1660[2] = true
			yyq1660[3] = true
			yyq1660[4] = true
			var yynn1660 int
			if yyr1660 || yy2arr1660 {
				r.EncodeArrayStart(5)
			} else {
				yynn1660 = 0
				for _, b := range yyq1660 {
					if b {
						yynn1660++
					}
				}
				r.EncodeMapStart(yynn1660)
				yynn1660 = 0
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1660[0] {
					yym1662 := z.EncBinary()
					_ = yym1662
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1660[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1663 := z.EncBinary()
					_ = yym1663
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1660[1] {
					yym1665 := z.EncBinary()
					_ = yym1665
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1660[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1666 := z.EncBinary()
					_ = yym1666
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1660[2] {
					yy1668 := &x.ObjectMeta
					yy1668.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1660[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1669 := &x.ObjectMeta
					yy1669.CodecEncodeSelf(e)
				}
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1660[3] {
					yy1671 := &x.Spec
					yy1671.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1660[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1672 := &x.Spec
					yy1672.CodecEncodeSelf(e)
				}
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1660[4] {
					yy1674 := &x.Status
					yy1674.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1660[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1675 := &x.Status
					yy1675.CodecEncodeSelf(e)
				}
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Pod) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1676 := z.DecBinary()
	_ = yym1676
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1677 := r.ContainerType()
		if yyct1677 == codecSelferValueTypeMap1234 {
			yyl1677 := r.ReadMapStart()
			if yyl1677 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1677, d)
			}
		} else if yyct1677 == codecSelferValueTypeArray1234 {
			yyl1677 := r.ReadArrayStart()
			if yyl1677 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1677, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Pod) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1678Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1678Slc
	var yyhl1678 bool = l >= 0
	for yyj1678 := 0; ; yyj1678++ {
		if yyhl1678 {
			if yyj1678 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1678Slc = r.DecodeBytes(yys1678Slc, true, true)
		yys1678 := string(yys1678Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1678 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1681 := &x.ObjectMeta
				yyv1681.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv1682 := &x.Spec
				yyv1682.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv1683 := &x.Status
				yyv1683.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1678)
		} // end switch yys1678
	} // end for yyj1678
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Pod) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1684 int
	var yyb1684 bool
	var yyhl1684 bool = l >= 0
	yyj1684++
	if yyhl1684 {
		yyb1684 = yyj1684 > l
	} else {
		yyb1684 = r.CheckBreak()
	}
	if yyb1684 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1684++
	if yyhl1684 {
		yyb1684 = yyj1684 > l
	} else {
		yyb1684 = r.CheckBreak()
	}
	if yyb1684 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1684++
	if yyhl1684 {
		yyb1684 = yyj1684 > l
	} else {
		yyb1684 = r.CheckBreak()
	}
	if yyb1684 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1687 := &x.ObjectMeta
		yyv1687.CodecDecodeSelf(d)
	}
	yyj1684++
	if yyhl1684 {
		yyb1684 = yyj1684 > l
	} else {
		yyb1684 = r.CheckBreak()
	}
	if yyb1684 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv1688 := &x.Spec
		yyv1688.CodecDecodeSelf(d)
	}
	yyj1684++
	if yyhl1684 {
		yyb1684 = yyj1684 > l
	} else {
		yyb1684 = r.CheckBreak()
	}
	if yyb1684 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv1689 := &x.Status
		yyv1689.CodecDecodeSelf(d)
	}
	for {
		yyj1684++
		if yyhl1684 {
			yyb1684 = yyj1684 > l
		} else {
			yyb1684 = r.CheckBreak()
		}
		if yyb1684 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1684-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1690 := z.EncBinary()
		_ = yym1690
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1691 := !z.EncBinary()
			yy2arr1691 := z.EncBasicHandle().StructToArray
			var yyq1691 [4]bool
			_, _, _ = yysep1691, yyq1691, yy2arr1691
			const yyr1691 bool = false
			yyq1691[0] = x.Kind != ""
			yyq1691[1] = x.APIVersion != ""
			yyq1691[2] = true
			var yynn1691 int
			if yyr1691 || yy2arr1691 {
				r.EncodeArrayStart(4)
			} else {
				yynn1691 = 1
				for _, b := range yyq1691 {
					if b {
						yynn1691++
					}
				}
				r.EncodeMapStart(yynn1691)
				yynn1691 = 0
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[0] {
					yym1693 := z.EncBinary()
					_ = yym1693
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1691[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1694 := z.EncBinary()
					_ = yym1694
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[1] {
					yym1696 := z.EncBinary()
					_ = yym1696
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1691[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1697 := z.EncBinary()
					_ = yym1697
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[2] {
					yy1699 := &x.ListMeta
					yym1700 := z.EncBinary()
					_ = yym1700
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1699) {
					} else {
						z.EncFallback(yy1699)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1691[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1701 := &x.ListMeta
					yym1702 := z.EncBinary()
					_ = yym1702
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1701) {
					} else {
						z.EncFallback(yy1701)
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1704 := z.EncBinary()
					_ = yym1704
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1705 := z.EncBinary()
					_ = yym1705
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1706 := z.DecBinary()
	_ = yym1706
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1707 := r.ContainerType()
		if yyct1707 == codecSelferValueTypeMap1234 {
			yyl1707 := r.ReadMapStart()
			if yyl1707 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1707, d)
			}
		} else if yyct1707 == codecSelferValueTypeArray1234 {
			yyl1707 := r.ReadArrayStart()
			if yyl1707 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1707, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1708Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1708Slc
	var yyhl1708 bool = l >= 0
	for yyj1708 := 0; ; yyj1708++ {
		if yyhl1708 {
			if yyj1708 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1708Slc = r.DecodeBytes(yys1708Slc, true, true)
		yys1708 := string(yys1708Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1708 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv1711 := &x.ListMeta
				yym1712 := z.DecBinary()
				_ = yym1712
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1711) {
				} else {
					z.DecFallback(yyv1711, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1713 := &x.Items
				yym1714 := z.DecBinary()
				_ = yym1714
				if false {
				} else {
					h.decSlicePod((*[]Pod)(yyv1713), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1708)
		} // end switch yys1708
	} // end for yyj1708
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1715 int
	var yyb1715 bool
	var yyhl1715 bool = l >= 0
	yyj1715++
	if yyhl1715 {
		yyb1715 = yyj1715 > l
	} else {
		yyb1715 = r.CheckBreak()
	}
	if yyb1715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1715++
	if yyhl1715 {
		yyb1715 = yyj1715 > l
	} else {
		yyb1715 = r.CheckBreak()
	}
	if yyb1715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1715++
	if yyhl1715 {
		yyb1715 = yyj1715 > l
	} else {
		yyb1715 = r.CheckBreak()
	}
	if yyb1715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1718 := &x.ListMeta
		yym1719 := z.DecBinary()
		_ = yym1719
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1718) {
		} else {
			z.DecFallback(yyv1718, false)
		}
	}
	yyj1715++
	if yyhl1715 {
		yyb1715 = yyj1715 > l
	} else {
		yyb1715 = r.CheckBreak()
	}
	if yyb1715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1720 := &x.Items
		yym1721 := z.DecBinary()
		_ = yym1721
		if false {
		} else {
			h.decSlicePod((*[]Pod)(yyv1720), d)
		}
	}
	for {
		yyj1715++
		if yyhl1715 {
			yyb1715 = yyj1715 > l
		} else {
			yyb1715 = r.CheckBreak()
		}
		if yyb1715 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1715-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplateSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1722 := z.EncBinary()
		_ = yym1722
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1723 := !z.EncBinary()
			yy2arr1723 := z.EncBasicHandle().StructToArray
			var yyq1723 [2]bool
			_, _, _ = yysep1723, yyq1723, yy2arr1723
			const yyr1723 bool = false
			yyq1723[0] = true
			yyq1723[1] = true
			var yynn1723 int
			if yyr1723 || yy2arr1723 {
				r.EncodeArrayStart(2)
			} else {
				yynn1723 = 0
				for _, b := range yyq1723 {
					if b {
						yynn1723++
					}
				}
				r.EncodeMapStart(yynn1723)
				yynn1723 = 0
			}
			if yyr1723 || yy2arr1723 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1723[0] {
					yy1725 := &x.ObjectMeta
					yy1725.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1723[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1726 := &x.ObjectMeta
					yy1726.CodecEncodeSelf(e)
				}
			}
			if yyr1723 || yy2arr1723 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1723[1] {
					yy1728 := &x.Spec
					yy1728.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1723[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1729 := &x.Spec
					yy1729.CodecEncodeSelf(e)
				}
			}
			if yyr1723 || yy2arr1723 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplateSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1730 := z.DecBinary()
	_ = yym1730
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1731 := r.ContainerType()
		if yyct1731 == codecSelferValueTypeMap1234 {
			yyl1731 := r.ReadMapStart()
			if yyl1731 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1731, d)
			}
		} else if yyct1731 == codecSelferValueTypeArray1234 {
			yyl1731 := r.ReadArrayStart()
			if yyl1731 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1731, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplateSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1732Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1732Slc
	var yyhl1732 bool = l >= 0
	for yyj1732 := 0; ; yyj1732++ {
		if yyhl1732 {
			if yyj1732 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1732Slc = r.DecodeBytes(yys1732Slc, true, true)
		yys1732 := string(yys1732Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1732 {
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1733 := &x.ObjectMeta
				yyv1733.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv1734 := &x.Spec
				yyv1734.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1732)
		} // end switch yys1732
	} // end for yyj1732
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplateSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1735 int
	var yyb1735 bool
	var yyhl1735 bool = l >= 0
	yyj1735++
	if yyhl1735 {
		yyb1735 = yyj1735 > l
	} else {
		yyb1735 = r.CheckBreak()
	}
	if yyb1735 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1736 := &x.ObjectMeta
		yyv1736.CodecDecodeSelf(d)
	}
	yyj1735++
	if yyhl1735 {
		yyb1735 = yyj1735 > l
	} else {
		yyb1735 = r.CheckBreak()
	}
	if yyb1735 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv1737 := &x.Spec
		yyv1737.CodecDecodeSelf(d)
	}
	for {
		yyj1735++
		if yyhl1735 {
			yyb1735 = yyj1735 > l
		} else {
			yyb1735 = r.CheckBreak()
		}
		if yyb1735 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1735-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplate) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1738 := z.EncBinary()
		_ = yym1738
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1739 := !z.EncBinary()
			yy2arr1739 := z.EncBasicHandle().StructToArray
			var yyq1739 [4]bool
			_, _, _ = yysep1739, yyq1739, yy2arr1739
			const yyr1739 bool = false
			yyq1739[0] = x.Kind != ""
			yyq1739[1] = x.APIVersion != ""
			yyq1739[2] = true
			yyq1739[3] = true
			var yynn1739 int
			if yyr1739 || yy2arr1739 {
				r.EncodeArrayStart(4)
			} else {
				yynn1739 = 0
				for _, b := range yyq1739 {
					if b {
						yynn1739++
					}
				}
				r.EncodeMapStart(yynn1739)
				yynn1739 = 0
			}
			if yyr1739 || yy2arr1739 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1739[0] {
					yym1741 := z.EncBinary()
					_ = yym1741
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1739[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1742 := z.EncBinary()
					_ = yym1742
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1739 || yy2arr1739 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1739[1] {
					yym1744 := z.EncBinary()
					_ = yym1744
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1739[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1745 := z.EncBinary()
					_ = yym1745
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1739 || yy2arr1739 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1739[2] {
					yy1747 := &x.ObjectMeta
					yy1747.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1739[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1748 := &x.ObjectMeta
					yy1748.CodecEncodeSelf(e)
				}
			}
			if yyr1739 || yy2arr1739 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1739[3] {
					yy1750 := &x.Template
					yy1750.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1739[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1751 := &x.Template
					yy1751.CodecEncodeSelf(e)
				}
			}
			if yyr1739 || yy2arr1739 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplate) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1752 := z.DecBinary()
	_ = yym1752
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1753 := r.ContainerType()
		if yyct1753 == codecSelferValueTypeMap1234 {
			yyl1753 := r.ReadMapStart()
			if yyl1753 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1753, d)
			}
		} else if yyct1753 == codecSelferValueTypeArray1234 {
			yyl1753 := r.ReadArrayStart()
			if yyl1753 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1753, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplate) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1754Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1754Slc
	var yyhl1754 bool = l >= 0
	for yyj1754 := 0; ; yyj1754++ {
		if yyhl1754 {
			if yyj1754 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1754Slc = r.DecodeBytes(yys1754Slc, true, true)
		yys1754 := string(yys1754Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1754 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1757 := &x.ObjectMeta
				yyv1757.CodecDecodeSelf(d)
			}
		case "template":
			if r.TryDecodeAsNil() {
				x.Template = PodTemplateSpec{}
			} else {
				yyv1758 := &x.Template
				yyv1758.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1754)
		} // end switch yys1754
	} // end for yyj1754
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplate) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1759 int
	var yyb1759 bool
	var yyhl1759 bool = l >= 0
	yyj1759++
	if yyhl1759 {
		yyb1759 = yyj1759 > l
	} else {
		yyb1759 = r.CheckBreak()
	}
	if yyb1759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1759++
	if yyhl1759 {
		yyb1759 = yyj1759 > l
	} else {
		yyb1759 = r.CheckBreak()
	}
	if yyb1759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1759++
	if yyhl1759 {
		yyb1759 = yyj1759 > l
	} else {
		yyb1759 = r.CheckBreak()
	}
	if yyb1759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1762 := &x.ObjectMeta
		yyv1762.CodecDecodeSelf(d)
	}
	yyj1759++
	if yyhl1759 {
		yyb1759 = yyj1759 > l
	} else {
		yyb1759 = r.CheckBreak()
	}
	if yyb1759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Template = PodTemplateSpec{}
	} else {
		yyv1763 := &x.Template
		yyv1763.CodecDecodeSelf(d)
	}
	for {
		yyj1759++
		if yyhl1759 {
			yyb1759 = yyj1759 > l
		} else {
			yyb1759 = r.CheckBreak()
		}
		if yyb1759 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1759-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplateList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1764 := z.EncBinary()
		_ = yym1764
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1765 := !z.EncBinary()
			yy2arr1765 := z.EncBasicHandle().StructToArray
			var yyq1765 [4]bool
			_, _, _ = yysep1765, yyq1765, yy2arr1765
			const yyr1765 bool = false
			yyq1765[0] = x.Kind != ""
			yyq1765[1] = x.APIVersion != ""
			yyq1765[2] = true
			var yynn1765 int
			if yyr1765 || yy2arr1765 {
				r.EncodeArrayStart(4)
			} else {
				yynn1765 = 1
				for _, b := range yyq1765 {
					if b {
						yynn1765++
					}
				}
				r.EncodeMapStart(yynn1765)
				yynn1765 = 0
			}
			if yyr1765 || yy2arr1765 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1765[0] {
					yym1767 := z.EncBinary()
					_ = yym1767
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1765[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1768 := z.EncBinary()
					_ = yym1768
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1765 || yy2arr1765 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1765[1] {
					yym1770 := z.EncBinary()
					_ = yym1770
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1765[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1771 := z.EncBinary()
					_ = yym1771
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1765 || yy2arr1765 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1765[2] {
					yy1773 := &x.ListMeta
					yym1774 := z.EncBinary()
					_ = yym1774
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1773) {
					} else {
						z.EncFallback(yy1773)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1765[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1775 := &x.ListMeta
					yym1776 := z.EncBinary()
					_ = yym1776
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1775) {
					} else {
						z.EncFallback(yy1775)
					}
				}
			}
			if yyr1765 || yy2arr1765 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1778 := z.EncBinary()
					_ = yym1778
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1779 := z.EncBinary()
					_ = yym1779
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			}
			if yyr1765 || yy2arr1765 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplateList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1780 := z.DecBinary()
	_ = yym1780
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1781 := r.ContainerType()
		if yyct1781 == codecSelferValueTypeMap1234 {
			yyl1781 := r.ReadMapStart()
			if yyl1781 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1781, d)
			}
		} else if yyct1781 == codecSelferValueTypeArray1234 {
			yyl1781 := r.ReadArrayStart()
			if yyl1781 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1781, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplateList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1782Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1782Slc
	var yyhl1782 bool = l >= 0
	for yyj1782 := 0; ; yyj1782++ {
		if yyhl1782 {
			if yyj1782 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1782Slc = r.DecodeBytes(yys1782Slc, true, true)
		yys1782 := string(yys1782Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1782 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv1785 := &x.ListMeta
				yym1786 := z.DecBinary()
				_ = yym1786
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1785) {
				} else {
					z.DecFallback(yyv1785, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1787 := &x.Items
				yym1788 := z.DecBinary()
				_ = yym1788
				if false {
				} else {
					h.decSlicePodTemplate((*[]PodTemplate)(yyv1787), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1782)
		} // end switch yys1782
	} // end for yyj1782
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplateList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1789 int
	var yyb1789 bool
	var yyhl1789 bool = l >= 0
	yyj1789++
	if yyhl1789 {
		yyb1789 = yyj1789 > l
	} else {
		yyb1789 = r.CheckBreak()
	}
	if yyb1789 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1789++
	if yyhl1789 {
		yyb1789 = yyj1789 > l
	} else {
		yyb1789 = r.CheckBreak()
	}
	if yyb1789 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1789++
	if yyhl1789 {
		yyb1789 = yyj1789 > l
	} else {
		yyb1789 = r.CheckBreak()
	}
	if yyb1789 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1792 := &x.ListMeta
		yym1793 := z.DecBinary()
		_ = yym1793
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1792) {
		} else {
			z.DecFallback(yyv1792, false)
		}
	}
	yyj1789++
	if yyhl1789 {
		yyb1789 = yyj1789 > l
	} else {
		yyb1789 = r.CheckBreak()
	}
	if yyb1789 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1794 := &x.Items
		yym1795 := z.DecBinary()
		_ = yym1795
		if false {
		} else {
			h.decSlicePodTemplate((*[]PodTemplate)(yyv1794), d)
		}
	}
	for {
		yyj1789++
		if yyhl1789 {
			yyb1789 = yyj1789 > l
		} else {
			yyb1789 = r.CheckBreak()
		}
		if yyb1789 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1789-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1796 := z.EncBinary()
		_ = yym1796
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1797 := !z.EncBinary()
			yy2arr1797 := z.EncBasicHandle().StructToArray
			var yyq1797 [3]bool
			_, _, _ = yysep1797, yyq1797, yy2arr1797
			const yyr1797 bool = false
			yyq1797[0] = x.Replicas != nil
			yyq1797[1] = len(x.Selector) != 0
			yyq1797[2] = x.Template != nil
			var yynn1797 int
			if yyr1797 || yy2arr1797 {
				r.EncodeArrayStart(3)
			} else {
				yynn1797 = 0
				for _, b := range yyq1797 {
					if b {
						yynn1797++
					}
				}
				r.EncodeMapStart(yynn1797)
				yynn1797 = 0
			}
			if yyr1797 || yy2arr1797 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1797[0] {
					if x.Replicas == nil {
						r.EncodeNil()
					} else {
						yy1799 := *x.Replicas
						yym1800 := z.EncBinary()
						_ = yym1800
						if false {
						} else {
							r.EncodeInt(int64(yy1799))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1797[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("replicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Replicas == nil {
						r.EncodeNil()
					} else {
						yy1801 := *x.Replicas
						yym1802 := z.EncBinary()
						_ = yym1802
						if false {
						} else {
							r.EncodeInt(int64(yy1801))
						}
					}
				}
			}
			if yyr1797 || yy2arr1797 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1797[1] {
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym1804 := z.EncBinary()
						_ = yym1804
						if false {
						} else {
							z.F.EncMapStringStringV(x.Selector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1797[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("selector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym1805 := z.EncBinary()
						_ = yym1805
						if false {
						} else {
							z.F.EncMapStringStringV(x.Selector, false, e)
						}
					}
				}
			}
			if yyr1797 || yy2arr1797 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1797[2] {
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1797[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1797 || yy2arr1797 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1807 := z.DecBinary()
	_ = yym1807
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1808 := r.ContainerType()
		if yyct1808 == codecSelferValueTypeMap1234 {
			yyl1808 := r.ReadMapStart()
			if yyl1808 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1808, d)
			}
		} else if yyct1808 == codecSelferValueTypeArray1234 {
			yyl1808 := r.ReadArrayStart()
			if yyl1808 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1808, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1809Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1809Slc
	var yyhl1809 bool = l >= 0
	for yyj1809 := 0; ; yyj1809++ {
		if yyhl1809 {
			if yyj1809 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1809Slc = r.DecodeBytes(yys1809Slc, true, true)
		yys1809 := string(yys1809Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1809 {
		case "replicas":
			if r.TryDecodeAsNil() {
				if x.Replicas != nil {
					x.Replicas = nil
				}
			} else {
				if x.Replicas == nil {
					x.Replicas = new(int32)
				}
				yym1811 := z.DecBinary()
				_ = yym1811
				if false {
				} else {
					*((*int32)(x.Replicas)) = int32(r.DecodeInt(32))
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv1812 := &x.Selector
				yym1813 := z.DecBinary()
				_ = yym1813
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1812, false, d)
				}
			}
		case "template":
			if r.TryDecodeAsNil() {
				if x.Template != nil {
					x.Template = nil
				}
			} else {
				if x.Template == nil {
					x.Template = new(PodTemplateSpec)
				}
				x.Template.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1809)
		} // end switch yys1809
	} // end for yyj1809
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1815 int
	var yyb1815 bool
	var yyhl1815 bool = l >= 0
	yyj1815++
	if yyhl1815 {
		yyb1815 = yyj1815 > l
	} else {
		yyb1815 = r.CheckBreak()
	}
	if yyb1815 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Replicas != nil {
			x.Replicas = nil
		}
	} else {
		if x.Replicas == nil {
			x.Replicas = new(int32)
		}
		yym1817 := z.DecBinary()
		_ = yym1817
		if false {
		} else {
			*((*int32)(x.Replicas)) = int32(r.DecodeInt(32))
		}
	}
	yyj1815++
	if yyhl1815 {
		yyb1815 = yyj1815 > l
	} else {
		yyb1815 = r.CheckBreak()
	}
	if yyb1815 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv1818 := &x.Selector
		yym1819 := z.DecBinary()
		_ = yym1819
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1818, false, d)
		}
	}
	yyj1815++
	if yyhl1815 {
		yyb1815 = yyj1815 > l
	} else {
		yyb1815 = r.CheckBreak()
	}
	if yyb1815 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Template != nil {
			x.Template = nil
		}
	} else {
		if x.Template == nil {
			x.Template = new(PodTemplateSpec)
		}
		x.Template.CodecDecodeSelf(d)
	}
	for {
		yyj1815++
		if yyhl1815 {
			yyb1815 = yyj1815 > l
		} else {
			yyb1815 = r.CheckBreak()
		}
		if yyb1815 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1815-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1821 := z.EncBinary()
		_ = yym1821
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1822 := !z.EncBinary()
			yy2arr1822 := z.EncBasicHandle().StructToArray
			var yyq1822 [2]bool
			_, _, _ = yysep1822, yyq1822, yy2arr1822
			const yyr1822 bool = false
			yyq1822[1] = x.ObservedGeneration != 0
			var yynn1822 int
			if yyr1822 || yy2arr1822 {
				r.EncodeArrayStart(2)
			} else {
				yynn1822 = 1
				for _, b := range yyq1822 {
					if b {
						yynn1822++
					}
				}
				r.EncodeMapStart(yynn1822)
				yynn1822 = 0
			}
			if yyr1822 || yy2arr1822 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1824 := z.EncBinary()
				_ = yym1824
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1825 := z.EncBinary()
				_ = yym1825
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr1822 || yy2arr1822 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1822[1] {
					yym1827 := z.EncBinary()
					_ = yym1827
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1822[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1828 := z.EncBinary()
					_ = yym1828
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				}
			}
			if yyr1822 || yy2arr1822 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1829 := z.DecBinary()
	_ = yym1829
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1830 := r.ContainerType()
		if yyct1830 == codecSelferValueTypeMap1234 {
			yyl1830 := r.ReadMapStart()
			if yyl1830 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1830, d)
			}
		} else if yyct1830 == codecSelferValueTypeArray1234 {
			yyl1830 := r.ReadArrayStart()
			if yyl1830 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1830, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1831Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1831Slc
	var yyhl1831 bool = l >= 0
	for yyj1831 := 0; ; yyj1831++ {
		if yyhl1831 {
			if yyj1831 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1831Slc = r.DecodeBytes(yys1831Slc, true, true)
		yys1831 := string(yys1831Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1831 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int32(r.DecodeInt(32))
			}
		case "observedGeneration":
			if r.TryDecodeAsNil() {
				x.ObservedGeneration = 0
			} else {
				x.ObservedGeneration = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1831)
		} // end switch yys1831
	} // end for yyj1831
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1834 int
	var yyb1834 bool
	var yyhl1834 bool = l >= 0
	yyj1834++
	if yyhl1834 {
		yyb1834 = yyj1834 > l
	} else {
		yyb1834 = r.CheckBreak()
	}
	if yyb1834 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int32(r.DecodeInt(32))
	}
	yyj1834++
	if yyhl1834 {
		yyb1834 = yyj1834 > l
	} else {
		yyb1834 = r.CheckBreak()
	}
	if yyb1834 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObservedGeneration = 0
	} else {
		x.ObservedGeneration = int64(r.DecodeInt(64))
	}
	for {
		yyj1834++
		if yyhl1834 {
			yyb1834 = yyj1834 > l
		} else {
			yyb1834 = r.CheckBreak()
		}
		if yyb1834 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1834-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationController) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1837 := z.EncBinary()
		_ = yym1837
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1838 := !z.EncBinary()
			yy2arr1838 := z.EncBasicHandle().StructToArray
			var yyq1838 [5]bool
			_, _, _ = yysep1838, yyq1838, yy2arr1838
			const yyr1838 bool = false
			yyq1838[0] = x.Kind != ""
			yyq1838[1] = x.APIVersion != ""
			yyq1838[2] = true
			yyq1838[3] = true
			yyq1838[4] = true
			var yynn1838 int
			if yyr1838 || yy2arr1838 {
				r.EncodeArrayStart(5)
			} else {
				yynn1838 = 0
				for _, b := range yyq1838 {
					if b {
						yynn1838++
					}
				}
				r.EncodeMapStart(yynn1838)
				yynn1838 = 0
			}
			if yyr1838 || yy2arr1838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1838[0] {
					yym1840 := z.EncBinary()
					_ = yym1840
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1838[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1841 := z.EncBinary()
					_ = yym1841
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1838 || yy2arr1838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1838[1] {
					yym1843 := z.EncBinary()
					_ = yym1843
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1838[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1844 := z.EncBinary()
					_ = yym1844
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1838 || yy2arr1838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1838[2] {
					yy1846 := &x.ObjectMeta
					yy1846.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1838[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1847 := &x.ObjectMeta
					yy1847.CodecEncodeSelf(e)
				}
			}
			if yyr1838 || yy2arr1838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1838[3] {
					yy1849 := &x.Spec
					yy1849.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1838[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1850 := &x.Spec
					yy1850.CodecEncodeSelf(e)
				}
			}
			if yyr1838 || yy2arr1838 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1838[4] {
					yy1852 := &x.Status
					yy1852.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1838[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1853 := &x.Status
					yy1853.CodecEncodeSelf(e)
				}
			}
			if yyr1838 || yy2arr1838 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationController) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1854 := z.DecBinary()
	_ = yym1854
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1855 := r.ContainerType()
		if yyct1855 == codecSelferValueTypeMap1234 {
			yyl1855 := r.ReadMapStart()
			if yyl1855 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1855, d)
			}
		} else if yyct1855 == codecSelferValueTypeArray1234 {
			yyl1855 := r.ReadArrayStart()
			if yyl1855 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1855, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationController) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1856Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1856Slc
	var yyhl1856 bool = l >= 0
	for yyj1856 := 0; ; yyj1856++ {
		if yyhl1856 {
			if yyj1856 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1856Slc = r.DecodeBytes(yys1856Slc, true, true)
		yys1856 := string(yys1856Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1856 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1859 := &x.ObjectMeta
				yyv1859.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ReplicationControllerSpec{}
			} else {
				yyv1860 := &x.Spec
				yyv1860.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ReplicationControllerStatus{}
			} else {
				yyv1861 := &x.Status
				yyv1861.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1856)
		} // end switch yys1856
	} // end for yyj1856
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationController) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1862 int
	var yyb1862 bool
	var yyhl1862 bool = l >= 0
	yyj1862++
	if yyhl1862 {
		yyb1862 = yyj1862 > l
	} else {
		yyb1862 = r.CheckBreak()
	}
	if yyb1862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1862++
	if yyhl1862 {
		yyb1862 = yyj1862 > l
	} else {
		yyb1862 = r.CheckBreak()
	}
	if yyb1862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1862++
	if yyhl1862 {
		yyb1862 = yyj1862 > l
	} else {
		yyb1862 = r.CheckBreak()
	}
	if yyb1862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1865 := &x.ObjectMeta
		yyv1865.CodecDecodeSelf(d)
	}
	yyj1862++
	if yyhl1862 {
		yyb1862 = yyj1862 > l
	} else {
		yyb1862 = r.CheckBreak()
	}
	if yyb1862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ReplicationControllerSpec{}
	} else {
		yyv1866 := &x.Spec
		yyv1866.CodecDecodeSelf(d)
	}
	yyj1862++
	if yyhl1862 {
		yyb1862 = yyj1862 > l
	} else {
		yyb1862 = r.CheckBreak()
	}
	if yyb1862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ReplicationControllerStatus{}
	} else {
		yyv1867 := &x.Status
		yyv1867.CodecDecodeSelf(d)
	}
	for {
		yyj1862++
		if yyhl1862 {
			yyb1862 = yyj1862 > l
		} else {
			yyb1862 = r.CheckBreak()
		}
		if yyb1862 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1862-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1868 := z.EncBinary()
		_ = yym1868
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1869 := !z.EncBinary()
			yy2arr1869 := z.EncBasicHandle().StructToArray
			var yyq1869 [4]bool
			_, _, _ = yysep1869, yyq1869, yy2arr1869
			const yyr1869 bool = false
			yyq1869[0] = x.Kind != ""
			yyq1869[1] = x.APIVersion != ""
			yyq1869[2] = true
			var yynn1869 int
			if yyr1869 || yy2arr1869 {
				r.EncodeArrayStart(4)
			} else {
				yynn1869 = 1
				for _, b := range yyq1869 {
					if b {
						yynn1869++
					}
				}
				r.EncodeMapStart(yynn1869)
				yynn1869 = 0
			}
			if yyr1869 || yy2arr1869 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1869[0] {
					yym1871 := z.EncBinary()
					_ = yym1871
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1869[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1872 := z.EncBinary()
					_ = yym1872
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1869 || yy2arr1869 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1869[1] {
					yym1874 := z.EncBinary()
					_ = yym1874
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1869[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1875 := z.EncBinary()
					_ = yym1875
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1869 || yy2arr1869 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1869[2] {
					yy1877 := &x.ListMeta
					yym1878 := z.EncBinary()
					_ = yym1878
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1877) {
					} else {
						z.EncFallback(yy1877)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1869[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1879 := &x.ListMeta
					yym1880 := z.EncBinary()
					_ = yym1880
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1879) {
					} else {
						z.EncFallback(yy1879)
					}
				}
			}
			if yyr1869 || yy2arr1869 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1882 := z.EncBinary()
					_ = yym1882
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1883 := z.EncBinary()
					_ = yym1883
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			}
			if yyr1869 || yy2arr1869 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1884 := z.DecBinary()
	_ = yym1884
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1885 := r.ContainerType()
		if yyct1885 == codecSelferValueTypeMap1234 {
			yyl1885 := r.ReadMapStart()
			if yyl1885 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1885, d)
			}
		} else if yyct1885 == codecSelferValueTypeArray1234 {
			yyl1885 := r.ReadArrayStart()
			if yyl1885 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1885, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1886Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1886Slc
	var yyhl1886 bool = l >= 0
	for yyj1886 := 0; ; yyj1886++ {
		if yyhl1886 {
			if yyj1886 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1886Slc = r.DecodeBytes(yys1886Slc, true, true)
		yys1886 := string(yys1886Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1886 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv1889 := &x.ListMeta
				yym1890 := z.DecBinary()
				_ = yym1890
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1889) {
				} else {
					z.DecFallback(yyv1889, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1891 := &x.Items
				yym1892 := z.DecBinary()
				_ = yym1892
				if false {
				} else {
					h.decSliceReplicationController((*[]ReplicationController)(yyv1891), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1886)
		} // end switch yys1886
	} // end for yyj1886
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1893 int
	var yyb1893 bool
	var yyhl1893 bool = l >= 0
	yyj1893++
	if yyhl1893 {
		yyb1893 = yyj1893 > l
	} else {
		yyb1893 = r.CheckBreak()
	}
	if yyb1893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1893++
	if yyhl1893 {
		yyb1893 = yyj1893 > l
	} else {
		yyb1893 = r.CheckBreak()
	}
	if yyb1893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1893++
	if yyhl1893 {
		yyb1893 = yyj1893 > l
	} else {
		yyb1893 = r.CheckBreak()
	}
	if yyb1893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1896 := &x.ListMeta
		yym1897 := z.DecBinary()
		_ = yym1897
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1896) {
		} else {
			z.DecFallback(yyv1896, false)
		}
	}
	yyj1893++
	if yyhl1893 {
		yyb1893 = yyj1893 > l
	} else {
		yyb1893 = r.CheckBreak()
	}
	if yyb1893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1898 := &x.Items
		yym1899 := z.DecBinary()
		_ = yym1899
		if false {
		} else {
			h.decSliceReplicationController((*[]ReplicationController)(yyv1898), d)
		}
	}
	for {
		yyj1893++
		if yyhl1893 {
			yyb1893 = yyj1893 > l
		} else {
			yyb1893 = r.CheckBreak()
		}
		if yyb1893 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1893-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ServiceAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1900 := z.EncBinary()
	_ = yym1900
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ServiceAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1901 := z.DecBinary()
	_ = yym1901
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ServiceType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1902 := z.EncBinary()
	_ = yym1902
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ServiceType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1903 := z.DecBinary()
	_ = yym1903
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ServiceStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1904 := z.EncBinary()
		_ = yym1904
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1905 := !z.EncBinary()
			yy2arr1905 := z.EncBasicHandle().StructToArray
			var yyq1905 [1]bool
			_, _, _ = yysep1905, yyq1905, yy2arr1905
			const yyr1905 bool = false
			yyq1905[0] = true
			var yynn1905 int
			if yyr1905 || yy2arr1905 {
				r.EncodeArrayStart(1)
			} else {
				yynn1905 = 0
				for _, b := range yyq1905 {
					if b {
						yynn1905++
					}
				}
				r.EncodeMapStart(yynn1905)
				yynn1905 = 0
			}
			if yyr1905 || yy2arr1905 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1905[0] {
					yy1907 := &x.LoadBalancer
					yy1907.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1905[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancer"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1908 := &x.LoadBalancer
					yy1908.CodecEncodeSelf(e)
				}
			}
			if yyr1905 || yy2arr1905 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1909 := z.DecBinary()
	_ = yym1909
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1910 := r.ContainerType()
		if yyct1910 == codecSelferValueTypeMap1234 {
			yyl1910 := r.ReadMapStart()
			if yyl1910 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1910, d)
			}
		} else if yyct1910 == codecSelferValueTypeArray1234 {
			yyl1910 := r.ReadArrayStart()
			if yyl1910 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1910, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1911Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1911Slc
	var yyhl1911 bool = l >= 0
	for yyj1911 := 0; ; yyj1911++ {
		if yyhl1911 {
			if yyj1911 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1911Slc = r.DecodeBytes(yys1911Slc, true, true)
		yys1911 := string(yys1911Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1911 {
		case "loadBalancer":
			if r.TryDecodeAsNil() {
				x.LoadBalancer = LoadBalancerStatus{}
			} else {
				yyv1912 := &x.LoadBalancer
				yyv1912.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1911)
		} // end switch yys1911
	} // end for yyj1911
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1913 int
	var yyb1913 bool
	var yyhl1913 bool = l >= 0
	yyj1913++
	if yyhl1913 {
		yyb1913 = yyj1913 > l
	} else {
		yyb1913 = r.CheckBreak()
	}
	if yyb1913 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancer = LoadBalancerStatus{}
	} else {
		yyv1914 := &x.LoadBalancer
		yyv1914.CodecDecodeSelf(d)
	}
	for {
		yyj1913++
		if yyhl1913 {
			yyb1913 = yyj1913 > l
		} else {
			yyb1913 = r.CheckBreak()
		}
		if yyb1913 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1913-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LoadBalancerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1915 := z.EncBinary()
		_ = yym1915
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1916 := !z.EncBinary()
			yy2arr1916 := z.EncBasicHandle().StructToArray
			var yyq1916 [1]bool
			_, _, _ = yysep1916, yyq1916, yy2arr1916
			const yyr1916 bool = false
			yyq1916[0] = len(x.Ingress) != 0
			var yynn1916 int
			if yyr1916 || yy2arr1916 {
				r.EncodeArrayStart(1)
			} else {
				yynn1916 = 0
				for _, b := range yyq1916 {
					if b {
						yynn1916++
					}
				}
				r.EncodeMapStart(yynn1916)
				yynn1916 = 0
			}
			if yyr1916 || yy2arr1916 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1916[0] {
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym1918 := z.EncBinary()
						_ = yym1918
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1916[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ingress"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym1919 := z.EncBinary()
						_ = yym1919
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				}
			}
			if yyr1916 || yy2arr1916 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LoadBalancerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1920 := z.DecBinary()
	_ = yym1920
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1921 := r.ContainerType()
		if yyct1921 == codecSelferValueTypeMap1234 {
			yyl1921 := r.ReadMapStart()
			if yyl1921 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1921, d)
			}
		} else if yyct1921 == codecSelferValueTypeArray1234 {
			yyl1921 := r.ReadArrayStart()
			if yyl1921 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1921, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1922Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1922Slc
	var yyhl1922 bool = l >= 0
	for yyj1922 := 0; ; yyj1922++ {
		if yyhl1922 {
			if yyj1922 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1922Slc = r.DecodeBytes(yys1922Slc, true, true)
		yys1922 := string(yys1922Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1922 {
		case "ingress":
			if r.TryDecodeAsNil() {
				x.Ingress = nil
			} else {
				yyv1923 := &x.Ingress
				yym1924 := z.DecBinary()
				_ = yym1924
				if false {
				} else {
					h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv1923), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1922)
		} // end switch yys1922
	} // end for yyj1922
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LoadBalancerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1925 int
	var yyb1925 bool
	var yyhl1925 bool = l >= 0
	yyj1925++
	if yyhl1925 {
		yyb1925 = yyj1925 > l
	} else {
		yyb1925 = r.CheckBreak()
	}
	if yyb1925 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ingress = nil
	} else {
		yyv1926 := &x.Ingress
		yym1927 := z.DecBinary()
		_ = yym1927
		if false {
		} else {
			h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv1926), d)
		}
	}
	for {
		yyj1925++
		if yyhl1925 {
			yyb1925 = yyj1925 > l
		} else {
			yyb1925 = r.CheckBreak()
		}
		if yyb1925 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1925-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LoadBalancerIngress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1928 := z.EncBinary()
		_ = yym1928
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1929 := !z.EncBinary()
			yy2arr1929 := z.EncBasicHandle().StructToArray
			var yyq1929 [2]bool
			_, _, _ = yysep1929, yyq1929, yy2arr1929
			const yyr1929 bool = false
			yyq1929[0] = x.IP != ""
			yyq1929[1] = x.Hostname != ""
			var yynn1929 int
			if yyr1929 || yy2arr1929 {
				r.EncodeArrayStart(2)
			} else {
				yynn1929 = 0
				for _, b := range yyq1929 {
					if b {
						yynn1929++
					}
				}
				r.EncodeMapStart(yynn1929)
				yynn1929 = 0
			}
			if yyr1929 || yy2arr1929 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1929[0] {
					yym1931 := z.EncBinary()
					_ = yym1931
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1929[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ip"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1932 := z.EncBinary()
					_ = yym1932
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				}
			}
			if yyr1929 || yy2arr1929 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1929[1] {
					yym1934 := z.EncBinary()
					_ = yym1934
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1929[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1935 := z.EncBinary()
					_ = yym1935
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr1929 || yy2arr1929 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LoadBalancerIngress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1936 := z.DecBinary()
	_ = yym1936
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1937 := r.ContainerType()
		if yyct1937 == codecSelferValueTypeMap1234 {
			yyl1937 := r.ReadMapStart()
			if yyl1937 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1937, d)
			}
		} else if yyct1937 == codecSelferValueTypeArray1234 {
			yyl1937 := r.ReadArrayStart()
			if yyl1937 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1937, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerIngress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1938Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1938Slc
	var yyhl1938 bool = l >= 0
	for yyj1938 := 0; ; yyj1938++ {
		if yyhl1938 {
			if yyj1938 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1938Slc = r.DecodeBytes(yys1938Slc, true, true)
		yys1938 := string(yys1938Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1938 {
		case "ip":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(r.DecodeString())
			}
		case "hostname":
			if r.TryDecodeAsNil() {
				x.Hostname = ""
			} else {
				x.Hostname = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1938)
		} // end switch yys1938
	} // end for yyj1938
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LoadBalancerIngress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1941 int
	var yyb1941 bool
	var yyhl1941 bool = l >= 0
	yyj1941++
	if yyhl1941 {
		yyb1941 = yyj1941 > l
	} else {
		yyb1941 = r.CheckBreak()
	}
	if yyb1941 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj1941++
	if yyhl1941 {
		yyb1941 = yyj1941 > l
	} else {
		yyb1941 = r.CheckBreak()
	}
	if yyb1941 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	for {
		yyj1941++
		if yyhl1941 {
			yyb1941 = yyj1941 > l
		} else {
			yyb1941 = r.CheckBreak()
		}
		if yyb1941 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1941-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1944 := z.EncBinary()
		_ = yym1944
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1945 := !z.EncBinary()
			yy2arr1945 := z.EncBasicHandle().StructToArray
			var yyq1945 [8]bool
			_, _, _ = yysep1945, yyq1945, yy2arr1945
			const yyr1945 bool = false
			yyq1945[1] = len(x.Selector) != 0
			yyq1945[2] = x.ClusterIP != ""
			yyq1945[3] = x.Type != ""
			yyq1945[4] = len(x.ExternalIPs) != 0
			yyq1945[5] = len(x.DeprecatedPublicIPs) != 0
			yyq1945[6] = x.SessionAffinity != ""
			yyq1945[7] = x.LoadBalancerIP != ""
			var yynn1945 int
			if yyr1945 || yy2arr1945 {
				r.EncodeArrayStart(8)
			} else {
				yynn1945 = 1
				for _, b := range yyq1945 {
					if b {
						yynn1945++
					}
				}
				r.EncodeMapStart(yynn1945)
				yynn1945 = 0
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym1947 := z.EncBinary()
					_ = yym1947
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ports"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym1948 := z.EncBinary()
					_ = yym1948
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[1] {
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym1950 := z.EncBinary()
						_ = yym1950
						if false {
						} else {
							z.F.EncMapStringStringV(x.Selector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1945[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("selector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym1951 := z.EncBinary()
						_ = yym1951
						if false {
						} else {
							z.F.EncMapStringStringV(x.Selector, false, e)
						}
					}
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[2] {
					yym1953 := z.EncBinary()
					_ = yym1953
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1945[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("clusterIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1954 := z.EncBinary()
					_ = yym1954
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[3] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1945[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[4] {
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym1957 := z.EncBinary()
						_ = yym1957
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1945[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalIPs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym1958 := z.EncBinary()
						_ = yym1958
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[5] {
					if x.DeprecatedPublicIPs == nil {
						r.EncodeNil()
					} else {
						yym1960 := z.EncBinary()
						_ = yym1960
						if false {
						} else {
							z.F.EncSliceStringV(x.DeprecatedPublicIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1945[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("deprecatedPublicIPs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DeprecatedPublicIPs == nil {
						r.EncodeNil()
					} else {
						yym1961 := z.EncBinary()
						_ = yym1961
						if false {
						} else {
							z.F.EncSliceStringV(x.DeprecatedPublicIPs, false, e)
						}
					}
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[6] {
					x.SessionAffinity.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1945[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sessionAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.SessionAffinity.CodecEncodeSelf(e)
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[7] {
					yym1964 := z.EncBinary()
					_ = yym1964
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1945[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1965 := z.EncBinary()
					_ = yym1965
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1966 := z.DecBinary()
	_ = yym1966
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1967 := r.ContainerType()
		if yyct1967 == codecSelferValueTypeMap1234 {
			yyl1967 := r.ReadMapStart()
			if yyl1967 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1967, d)
			}
		} else if yyct1967 == codecSelferValueTypeArray1234 {
			yyl1967 := r.ReadArrayStart()
			if yyl1967 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1967, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1968Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1968Slc
	var yyhl1968 bool = l >= 0
	for yyj1968 := 0; ; yyj1968++ {
		if yyhl1968 {
			if yyj1968 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1968Slc = r.DecodeBytes(yys1968Slc, true, true)
		yys1968 := string(yys1968Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1968 {
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1969 := &x.Ports
				yym1970 := z.DecBinary()
				_ = yym1970
				if false {
				} else {
					h.decSliceServicePort((*[]ServicePort)(yyv1969), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv1971 := &x.Selector
				yym1972 := z.DecBinary()
				_ = yym1972
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1971, false, d)
				}
			}
		case "clusterIP":
			if r.TryDecodeAsNil() {
				x.ClusterIP = ""
			} else {
				x.ClusterIP = string(r.DecodeString())
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ServiceType(r.DecodeString())
			}
		case "externalIPs":
			if r.TryDecodeAsNil() {
				x.ExternalIPs = nil
			} else {
				yyv1975 := &x.ExternalIPs
				yym1976 := z.DecBinary()
				_ = yym1976
				if false {
				} else {
					z.F.DecSliceStringX(yyv1975, false, d)
				}
			}
		case "deprecatedPublicIPs":
			if r.TryDecodeAsNil() {
				x.DeprecatedPublicIPs = nil
			} else {
				yyv1977 := &x.DeprecatedPublicIPs
				yym1978 := z.DecBinary()
				_ = yym1978
				if false {
				} else {
					z.F.DecSliceStringX(yyv1977, false, d)
				}
			}
		case "sessionAffinity":
			if r.TryDecodeAsNil() {
				x.SessionAffinity = ""
			} else {
				x.SessionAffinity = ServiceAffinity(r.DecodeString())
			}
		case "loadBalancerIP":
			if r.TryDecodeAsNil() {
				x.LoadBalancerIP = ""
			} else {
				x.LoadBalancerIP = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1968)
		} // end switch yys1968
	} // end for yyj1968
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1981 int
	var yyb1981 bool
	var yyhl1981 bool = l >= 0
	yyj1981++
	if yyhl1981 {
		yyb1981 = yyj1981 > l
	} else {
		yyb1981 = r.CheckBreak()
	}
	if yyb1981 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1982 := &x.Ports
		yym1983 := z.DecBinary()
		_ = yym1983
		if false {
		} else {
			h.decSliceServicePort((*[]ServicePort)(yyv1982), d)
		}
	}
	yyj1981++
	if yyhl1981 {
		yyb1981 = yyj1981 > l
	} else {
		yyb1981 = r.CheckBreak()
	}
	if yyb1981 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv1984 := &x.Selector
		yym1985 := z.DecBinary()
		_ = yym1985
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1984, false, d)
		}
	}
	yyj1981++
	if yyhl1981 {
		yyb1981 = yyj1981 > l
	} else {
		yyb1981 = r.CheckBreak()
	}
	if yyb1981 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClusterIP = ""
	} else {
		x.ClusterIP = string(r.DecodeString())
	}
	yyj1981++
	if yyhl1981 {
		yyb1981 = yyj1981 > l
	} else {
		yyb1981 = r.CheckBreak()
	}
	if yyb1981 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ServiceType(r.DecodeString())
	}
	yyj1981++
	if yyhl1981 {
		yyb1981 = yyj1981 > l
	} else {
		yyb1981 = r.CheckBreak()
	}
	if yyb1981 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalIPs = nil
	} else {
		yyv1988 := &x.ExternalIPs
		yym1989 := z.DecBinary()
		_ = yym1989
		if false {
		} else {
			z.F.DecSliceStringX(yyv1988, false, d)
		}
	}
	yyj1981++
	if yyhl1981 {
		yyb1981 = yyj1981 > l
	} else {
		yyb1981 = r.CheckBreak()
	}
	if yyb1981 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DeprecatedPublicIPs = nil
	} else {
		yyv1990 := &x.DeprecatedPublicIPs
		yym1991 := z.DecBinary()
		_ = yym1991
		if false {
		} else {
			z.F.DecSliceStringX(yyv1990, false, d)
		}
	}
	yyj1981++
	if yyhl1981 {
		yyb1981 = yyj1981 > l
	} else {
		yyb1981 = r.CheckBreak()
	}
	if yyb1981 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SessionAffinity = ""
	} else {
		x.SessionAffinity = ServiceAffinity(r.DecodeString())
	}
	yyj1981++
	if yyhl1981 {
		yyb1981 = yyj1981 > l
	} else {
		yyb1981 = r.CheckBreak()
	}
	if yyb1981 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancerIP = ""
	} else {
		x.LoadBalancerIP = string(r.DecodeString())
	}
	for {
		yyj1981++
		if yyhl1981 {
			yyb1981 = yyj1981 > l
		} else {
			yyb1981 = r.CheckBreak()
		}
		if yyb1981 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1981-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServicePort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1994 := z.EncBinary()
		_ = yym1994
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1995 := !z.EncBinary()
			yy2arr1995 := z.EncBasicHandle().StructToArray
			var yyq1995 [5]bool
			_, _, _ = yysep1995, yyq1995, yy2arr1995
			const yyr1995 bool = false
			yyq1995[0] = x.Name != ""
			yyq1995[1] = x.Protocol != ""
			yyq1995[3] = true
			yyq1995[4] = x.NodePort != 0
			var yynn1995 int
			if yyr1995 || yy2arr1995 {
				r.EncodeArrayStart(5)
			} else {
				yynn1995 = 1
				for _, b := range yyq1995 {
					if b {
						yynn1995++
					}
				}
				r.EncodeMapStart(yynn1995)
				yynn1995 = 0
			}
			if yyr1995 || yy2arr1995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1995[0] {
					yym1997 := z.EncBinary()
					_ = yym1997
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1995[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1998 := z.EncBinary()
					_ = yym1998
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr1995 || yy2arr1995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1995[1] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1995[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr1995 || yy2arr1995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2001 := z.EncBinary()
				_ = yym2001
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2002 := z.EncBinary()
				_ = yym2002
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr1995 || yy2arr1995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1995[3] {
					yy2004 := &x.TargetPort
					yym2005 := z.EncBinary()
					_ = yym2005
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2004) {
					} else if !yym2005 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2004)
					} else {
						z.EncFallback(yy2004)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1995[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("targetPort"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2006 := &x.TargetPort
					yym2007 := z.EncBinary()
					_ = yym2007
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2006) {
					} else if !yym2007 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2006)
					} else {
						z.EncFallback(yy2006)
					}
				}
			}
			if yyr1995 || yy2arr1995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1995[4] {
					yym2009 := z.EncBinary()
					_ = yym2009
					if false {
					} else {
						r.EncodeInt(int64(x.NodePort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1995[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodePort"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2010 := z.EncBinary()
					_ = yym2010
					if false {
					} else {
						r.EncodeInt(int64(x.NodePort))
					}
				}
			}
			if yyr1995 || yy2arr1995 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServicePort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2011 := z.DecBinary()
	_ = yym2011
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2012 := r.ContainerType()
		if yyct2012 == codecSelferValueTypeMap1234 {
			yyl2012 := r.ReadMapStart()
			if yyl2012 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2012, d)
			}
		} else if yyct2012 == codecSelferValueTypeArray1234 {
			yyl2012 := r.ReadArrayStart()
			if yyl2012 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2012, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServicePort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2013Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2013Slc
	var yyhl2013 bool = l >= 0
	for yyj2013 := 0; ; yyj2013++ {
		if yyhl2013 {
			if yyj2013 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2013Slc = r.DecodeBytes(yys2013Slc, true, true)
		yys2013 := string(yys2013Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2013 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		case "targetPort":
			if r.TryDecodeAsNil() {
				x.TargetPort = pkg5_intstr.IntOrString{}
			} else {
				yyv2017 := &x.TargetPort
				yym2018 := z.DecBinary()
				_ = yym2018
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2017) {
				} else if !yym2018 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2017)
				} else {
					z.DecFallback(yyv2017, false)
				}
			}
		case "nodePort":
			if r.TryDecodeAsNil() {
				x.NodePort = 0
			} else {
				x.NodePort = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2013)
		} // end switch yys2013
	} // end for yyj2013
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServicePort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2020 int
	var yyb2020 bool
	var yyhl2020 bool = l >= 0
	yyj2020++
	if yyhl2020 {
		yyb2020 = yyj2020 > l
	} else {
		yyb2020 = r.CheckBreak()
	}
	if yyb2020 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2020++
	if yyhl2020 {
		yyb2020 = yyj2020 > l
	} else {
		yyb2020 = r.CheckBreak()
	}
	if yyb2020 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj2020++
	if yyhl2020 {
		yyb2020 = yyj2020 > l
	} else {
		yyb2020 = r.CheckBreak()
	}
	if yyb2020 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	yyj2020++
	if yyhl2020 {
		yyb2020 = yyj2020 > l
	} else {
		yyb2020 = r.CheckBreak()
	}
	if yyb2020 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPort = pkg5_intstr.IntOrString{}
	} else {
		yyv2024 := &x.TargetPort
		yym2025 := z.DecBinary()
		_ = yym2025
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2024) {
		} else if !yym2025 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2024)
		} else {
			z.DecFallback(yyv2024, false)
		}
	}
	yyj2020++
	if yyhl2020 {
		yyb2020 = yyj2020 > l
	} else {
		yyb2020 = r.CheckBreak()
	}
	if yyb2020 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodePort = 0
	} else {
		x.NodePort = int32(r.DecodeInt(32))
	}
	for {
		yyj2020++
		if yyhl2020 {
			yyb2020 = yyj2020 > l
		} else {
			yyb2020 = r.CheckBreak()
		}
		if yyb2020 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2020-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Service) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2027 := z.EncBinary()
		_ = yym2027
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2028 := !z.EncBinary()
			yy2arr2028 := z.EncBasicHandle().StructToArray
			var yyq2028 [5]bool
			_, _, _ = yysep2028, yyq2028, yy2arr2028
			const yyr2028 bool = false
			yyq2028[0] = x.Kind != ""
			yyq2028[1] = x.APIVersion != ""
			yyq2028[2] = true
			yyq2028[3] = true
			yyq2028[4] = true
			var yynn2028 int
			if yyr2028 || yy2arr2028 {
				r.EncodeArrayStart(5)
			} else {
				yynn2028 = 0
				for _, b := range yyq2028 {
					if b {
						yynn2028++
					}
				}
				r.EncodeMapStart(yynn2028)
				yynn2028 = 0
			}
			if yyr2028 || yy2arr2028 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2028[0] {
					yym2030 := z.EncBinary()
					_ = yym2030
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2028[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2031 := z.EncBinary()
					_ = yym2031
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2028 || yy2arr2028 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2028[1] {
					yym2033 := z.EncBinary()
					_ = yym2033
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2028[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2034 := z.EncBinary()
					_ = yym2034
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2028 || yy2arr2028 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2028[2] {
					yy2036 := &x.ObjectMeta
					yy2036.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2028[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2037 := &x.ObjectMeta
					yy2037.CodecEncodeSelf(e)
				}
			}
			if yyr2028 || yy2arr2028 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2028[3] {
					yy2039 := &x.Spec
					yy2039.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2028[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2040 := &x.Spec
					yy2040.CodecEncodeSelf(e)
				}
			}
			if yyr2028 || yy2arr2028 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2028[4] {
					yy2042 := &x.Status
					yy2042.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2028[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2043 := &x.Status
					yy2043.CodecEncodeSelf(e)
				}
			}
			if yyr2028 || yy2arr2028 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Service) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2044 := z.DecBinary()
	_ = yym2044
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2045 := r.ContainerType()
		if yyct2045 == codecSelferValueTypeMap1234 {
			yyl2045 := r.ReadMapStart()
			if yyl2045 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2045, d)
			}
		} else if yyct2045 == codecSelferValueTypeArray1234 {
			yyl2045 := r.ReadArrayStart()
			if yyl2045 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2045, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Service) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2046Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2046Slc
	var yyhl2046 bool = l >= 0
	for yyj2046 := 0; ; yyj2046++ {
		if yyhl2046 {
			if yyj2046 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2046Slc = r.DecodeBytes(yys2046Slc, true, true)
		yys2046 := string(yys2046Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2046 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2049 := &x.ObjectMeta
				yyv2049.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ServiceSpec{}
			} else {
				yyv2050 := &x.Spec
				yyv2050.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ServiceStatus{}
			} else {
				yyv2051 := &x.Status
				yyv2051.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2046)
		} // end switch yys2046
	} // end for yyj2046
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Service) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2052 int
	var yyb2052 bool
	var yyhl2052 bool = l >= 0
	yyj2052++
	if yyhl2052 {
		yyb2052 = yyj2052 > l
	} else {
		yyb2052 = r.CheckBreak()
	}
	if yyb2052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2052++
	if yyhl2052 {
		yyb2052 = yyj2052 > l
	} else {
		yyb2052 = r.CheckBreak()
	}
	if yyb2052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2052++
	if yyhl2052 {
		yyb2052 = yyj2052 > l
	} else {
		yyb2052 = r.CheckBreak()
	}
	if yyb2052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2055 := &x.ObjectMeta
		yyv2055.CodecDecodeSelf(d)
	}
	yyj2052++
	if yyhl2052 {
		yyb2052 = yyj2052 > l
	} else {
		yyb2052 = r.CheckBreak()
	}
	if yyb2052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ServiceSpec{}
	} else {
		yyv2056 := &x.Spec
		yyv2056.CodecDecodeSelf(d)
	}
	yyj2052++
	if yyhl2052 {
		yyb2052 = yyj2052 > l
	} else {
		yyb2052 = r.CheckBreak()
	}
	if yyb2052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ServiceStatus{}
	} else {
		yyv2057 := &x.Status
		yyv2057.CodecDecodeSelf(d)
	}
	for {
		yyj2052++
		if yyhl2052 {
			yyb2052 = yyj2052 > l
		} else {
			yyb2052 = r.CheckBreak()
		}
		if yyb2052 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2052-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2058 := z.EncBinary()
		_ = yym2058
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2059 := !z.EncBinary()
			yy2arr2059 := z.EncBasicHandle().StructToArray
			var yyq2059 [4]bool
			_, _, _ = yysep2059, yyq2059, yy2arr2059
			const yyr2059 bool = false
			yyq2059[0] = x.Kind != ""
			yyq2059[1] = x.APIVersion != ""
			yyq2059[2] = true
			var yynn2059 int
			if yyr2059 || yy2arr2059 {
				r.EncodeArrayStart(4)
			} else {
				yynn2059 = 1
				for _, b := range yyq2059 {
					if b {
						yynn2059++
					}
				}
				r.EncodeMapStart(yynn2059)
				yynn2059 = 0
			}
			if yyr2059 || yy2arr2059 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2059[0] {
					yym2061 := z.EncBinary()
					_ = yym2061
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2059[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2062 := z.EncBinary()
					_ = yym2062
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2059 || yy2arr2059 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2059[1] {
					yym2064 := z.EncBinary()
					_ = yym2064
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2059[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2065 := z.EncBinary()
					_ = yym2065
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2059 || yy2arr2059 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2059[2] {
					yy2067 := &x.ListMeta
					yym2068 := z.EncBinary()
					_ = yym2068
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2067) {
					} else {
						z.EncFallback(yy2067)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2059[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2069 := &x.ListMeta
					yym2070 := z.EncBinary()
					_ = yym2070
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2069) {
					} else {
						z.EncFallback(yy2069)
					}
				}
			}
			if yyr2059 || yy2arr2059 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2072 := z.EncBinary()
					_ = yym2072
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2073 := z.EncBinary()
					_ = yym2073
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			}
			if yyr2059 || yy2arr2059 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2074 := z.DecBinary()
	_ = yym2074
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2075 := r.ContainerType()
		if yyct2075 == codecSelferValueTypeMap1234 {
			yyl2075 := r.ReadMapStart()
			if yyl2075 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2075, d)
			}
		} else if yyct2075 == codecSelferValueTypeArray1234 {
			yyl2075 := r.ReadArrayStart()
			if yyl2075 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2075, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2076Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2076Slc
	var yyhl2076 bool = l >= 0
	for yyj2076 := 0; ; yyj2076++ {
		if yyhl2076 {
			if yyj2076 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2076Slc = r.DecodeBytes(yys2076Slc, true, true)
		yys2076 := string(yys2076Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2076 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2079 := &x.ListMeta
				yym2080 := z.DecBinary()
				_ = yym2080
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2079) {
				} else {
					z.DecFallback(yyv2079, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2081 := &x.Items
				yym2082 := z.DecBinary()
				_ = yym2082
				if false {
				} else {
					h.decSliceService((*[]Service)(yyv2081), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2076)
		} // end switch yys2076
	} // end for yyj2076
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2083 int
	var yyb2083 bool
	var yyhl2083 bool = l >= 0
	yyj2083++
	if yyhl2083 {
		yyb2083 = yyj2083 > l
	} else {
		yyb2083 = r.CheckBreak()
	}
	if yyb2083 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2083++
	if yyhl2083 {
		yyb2083 = yyj2083 > l
	} else {
		yyb2083 = r.CheckBreak()
	}
	if yyb2083 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2083++
	if yyhl2083 {
		yyb2083 = yyj2083 > l
	} else {
		yyb2083 = r.CheckBreak()
	}
	if yyb2083 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2086 := &x.ListMeta
		yym2087 := z.DecBinary()
		_ = yym2087
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2086) {
		} else {
			z.DecFallback(yyv2086, false)
		}
	}
	yyj2083++
	if yyhl2083 {
		yyb2083 = yyj2083 > l
	} else {
		yyb2083 = r.CheckBreak()
	}
	if yyb2083 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2088 := &x.Items
		yym2089 := z.DecBinary()
		_ = yym2089
		if false {
		} else {
			h.decSliceService((*[]Service)(yyv2088), d)
		}
	}
	for {
		yyj2083++
		if yyhl2083 {
			yyb2083 = yyj2083 > l
		} else {
			yyb2083 = r.CheckBreak()
		}
		if yyb2083 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2083-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceAccount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2090 := z.EncBinary()
		_ = yym2090
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2091 := !z.EncBinary()
			yy2arr2091 := z.EncBasicHandle().StructToArray
			var yyq2091 [5]bool
			_, _, _ = yysep2091, yyq2091, yy2arr2091
			const yyr2091 bool = false
			yyq2091[0] = x.Kind != ""
			yyq2091[1] = x.APIVersion != ""
			yyq2091[2] = true
			yyq2091[3] = len(x.Secrets) != 0
			yyq2091[4] = len(x.ImagePullSecrets) != 0
			var yynn2091 int
			if yyr2091 || yy2arr2091 {
				r.EncodeArrayStart(5)
			} else {
				yynn2091 = 0
				for _, b := range yyq2091 {
					if b {
						yynn2091++
					}
				}
				r.EncodeMapStart(yynn2091)
				yynn2091 = 0
			}
			if yyr2091 || yy2arr2091 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2091[0] {
					yym2093 := z.EncBinary()
					_ = yym2093
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2091[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2094 := z.EncBinary()
					_ = yym2094
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2091 || yy2arr2091 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2091[1] {
					yym2096 := z.EncBinary()
					_ = yym2096
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2091[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2097 := z.EncBinary()
					_ = yym2097
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2091 || yy2arr2091 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2091[2] {
					yy2099 := &x.ObjectMeta
					yy2099.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2091[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2100 := &x.ObjectMeta
					yy2100.CodecEncodeSelf(e)
				}
			}
			if yyr2091 || yy2arr2091 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2091[3] {
					if x.Secrets == nil {
						r.EncodeNil()
					} else {
						yym2102 := z.EncBinary()
						_ = yym2102
						if false {
						} else {
							h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2091[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Secrets == nil {
						r.EncodeNil()
					} else {
						yym2103 := z.EncBinary()
						_ = yym2103
						if false {
						} else {
							h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
						}
					}
				}
			}
			if yyr2091 || yy2arr2091 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2091[4] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2105 := z.EncBinary()
						_ = yym2105
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2091[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2106 := z.EncBinary()
						_ = yym2106
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr2091 || yy2arr2091 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceAccount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2107 := z.DecBinary()
	_ = yym2107
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2108 := r.ContainerType()
		if yyct2108 == codecSelferValueTypeMap1234 {
			yyl2108 := r.ReadMapStart()
			if yyl2108 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2108, d)
			}
		} else if yyct2108 == codecSelferValueTypeArray1234 {
			yyl2108 := r.ReadArrayStart()
			if yyl2108 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2108, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceAccount) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2109Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2109Slc
	var yyhl2109 bool = l >= 0
	for yyj2109 := 0; ; yyj2109++ {
		if yyhl2109 {
			if yyj2109 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2109Slc = r.DecodeBytes(yys2109Slc, true, true)
		yys2109 := string(yys2109Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2109 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2112 := &x.ObjectMeta
				yyv2112.CodecDecodeSelf(d)
			}
		case "secrets":
			if r.TryDecodeAsNil() {
				x.Secrets = nil
			} else {
				yyv2113 := &x.Secrets
				yym2114 := z.DecBinary()
				_ = yym2114
				if false {
				} else {
					h.decSliceObjectReference((*[]ObjectReference)(yyv2113), d)
				}
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2115 := &x.ImagePullSecrets
				yym2116 := z.DecBinary()
				_ = yym2116
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2115), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2109)
		} // end switch yys2109
	} // end for yyj2109
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceAccount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2117 int
	var yyb2117 bool
	var yyhl2117 bool = l >= 0
	yyj2117++
	if yyhl2117 {
		yyb2117 = yyj2117 > l
	} else {
		yyb2117 = r.CheckBreak()
	}
	if yyb2117 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2117++
	if yyhl2117 {
		yyb2117 = yyj2117 > l
	} else {
		yyb2117 = r.CheckBreak()
	}
	if yyb2117 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2117++
	if yyhl2117 {
		yyb2117 = yyj2117 > l
	} else {
		yyb2117 = r.CheckBreak()
	}
	if yyb2117 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2120 := &x.ObjectMeta
		yyv2120.CodecDecodeSelf(d)
	}
	yyj2117++
	if yyhl2117 {
		yyb2117 = yyj2117 > l
	} else {
		yyb2117 = r.CheckBreak()
	}
	if yyb2117 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Secrets = nil
	} else {
		yyv2121 := &x.Secrets
		yym2122 := z.DecBinary()
		_ = yym2122
		if false {
		} else {
			h.decSliceObjectReference((*[]ObjectReference)(yyv2121), d)
		}
	}
	yyj2117++
	if yyhl2117 {
		yyb2117 = yyj2117 > l
	} else {
		yyb2117 = r.CheckBreak()
	}
	if yyb2117 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2123 := &x.ImagePullSecrets
		yym2124 := z.DecBinary()
		_ = yym2124
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2123), d)
		}
	}
	for {
		yyj2117++
		if yyhl2117 {
			yyb2117 = yyj2117 > l
		} else {
			yyb2117 = r.CheckBreak()
		}
		if yyb2117 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2117-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceAccountList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2125 := z.EncBinary()
		_ = yym2125
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2126 := !z.EncBinary()
			yy2arr2126 := z.EncBasicHandle().StructToArray
			var yyq2126 [4]bool
			_, _, _ = yysep2126, yyq2126, yy2arr2126
			const yyr2126 bool = false
			yyq2126[0] = x.Kind != ""
			yyq2126[1] = x.APIVersion != ""
			yyq2126[2] = true
			var yynn2126 int
			if yyr2126 || yy2arr2126 {
				r.EncodeArrayStart(4)
			} else {
				yynn2126 = 1
				for _, b := range yyq2126 {
					if b {
						yynn2126++
					}
				}
				r.EncodeMapStart(yynn2126)
				yynn2126 = 0
			}
			if yyr2126 || yy2arr2126 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2126[0] {
					yym2128 := z.EncBinary()
					_ = yym2128
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2126[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2129 := z.EncBinary()
					_ = yym2129
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2126 || yy2arr2126 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2126[1] {
					yym2131 := z.EncBinary()
					_ = yym2131
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2126[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2132 := z.EncBinary()
					_ = yym2132
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2126 || yy2arr2126 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2126[2] {
					yy2134 := &x.ListMeta
					yym2135 := z.EncBinary()
					_ = yym2135
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2134) {
					} else {
						z.EncFallback(yy2134)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2126[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2136 := &x.ListMeta
					yym2137 := z.EncBinary()
					_ = yym2137
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2136) {
					} else {
						z.EncFallback(yy2136)
					}
				}
			}
			if yyr2126 || yy2arr2126 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2139 := z.EncBinary()
					_ = yym2139
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2140 := z.EncBinary()
					_ = yym2140
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			}
			if yyr2126 || yy2arr2126 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceAccountList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2141 := z.DecBinary()
	_ = yym2141
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2142 := r.ContainerType()
		if yyct2142 == codecSelferValueTypeMap1234 {
			yyl2142 := r.ReadMapStart()
			if yyl2142 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2142, d)
			}
		} else if yyct2142 == codecSelferValueTypeArray1234 {
			yyl2142 := r.ReadArrayStart()
			if yyl2142 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2142, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceAccountList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2143Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2143Slc
	var yyhl2143 bool = l >= 0
	for yyj2143 := 0; ; yyj2143++ {
		if yyhl2143 {
			if yyj2143 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2143Slc = r.DecodeBytes(yys2143Slc, true, true)
		yys2143 := string(yys2143Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2143 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2146 := &x.ListMeta
				yym2147 := z.DecBinary()
				_ = yym2147
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2146) {
				} else {
					z.DecFallback(yyv2146, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2148 := &x.Items
				yym2149 := z.DecBinary()
				_ = yym2149
				if false {
				} else {
					h.decSliceServiceAccount((*[]ServiceAccount)(yyv2148), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2143)
		} // end switch yys2143
	} // end for yyj2143
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceAccountList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2150 int
	var yyb2150 bool
	var yyhl2150 bool = l >= 0
	yyj2150++
	if yyhl2150 {
		yyb2150 = yyj2150 > l
	} else {
		yyb2150 = r.CheckBreak()
	}
	if yyb2150 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2150++
	if yyhl2150 {
		yyb2150 = yyj2150 > l
	} else {
		yyb2150 = r.CheckBreak()
	}
	if yyb2150 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2150++
	if yyhl2150 {
		yyb2150 = yyj2150 > l
	} else {
		yyb2150 = r.CheckBreak()
	}
	if yyb2150 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2153 := &x.ListMeta
		yym2154 := z.DecBinary()
		_ = yym2154
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2153) {
		} else {
			z.DecFallback(yyv2153, false)
		}
	}
	yyj2150++
	if yyhl2150 {
		yyb2150 = yyj2150 > l
	} else {
		yyb2150 = r.CheckBreak()
	}
	if yyb2150 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2155 := &x.Items
		yym2156 := z.DecBinary()
		_ = yym2156
		if false {
		} else {
			h.decSliceServiceAccount((*[]ServiceAccount)(yyv2155), d)
		}
	}
	for {
		yyj2150++
		if yyhl2150 {
			yyb2150 = yyj2150 > l
		} else {
			yyb2150 = r.CheckBreak()
		}
		if yyb2150 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2150-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Endpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2157 := z.EncBinary()
		_ = yym2157
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2158 := !z.EncBinary()
			yy2arr2158 := z.EncBasicHandle().StructToArray
			var yyq2158 [4]bool
			_, _, _ = yysep2158, yyq2158, yy2arr2158
			const yyr2158 bool = false
			yyq2158[0] = x.Kind != ""
			yyq2158[1] = x.APIVersion != ""
			yyq2158[2] = true
			var yynn2158 int
			if yyr2158 || yy2arr2158 {
				r.EncodeArrayStart(4)
			} else {
				yynn2158 = 1
				for _, b := range yyq2158 {
					if b {
						yynn2158++
					}
				}
				r.EncodeMapStart(yynn2158)
				yynn2158 = 0
			}
			if yyr2158 || yy2arr2158 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2158[0] {
					yym2160 := z.EncBinary()
					_ = yym2160
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2158[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2161 := z.EncBinary()
					_ = yym2161
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2158 || yy2arr2158 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2158[1] {
					yym2163 := z.EncBinary()
					_ = yym2163
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2158[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2164 := z.EncBinary()
					_ = yym2164
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2158 || yy2arr2158 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2158[2] {
					yy2166 := &x.ObjectMeta
					yy2166.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2158[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2167 := &x.ObjectMeta
					yy2167.CodecEncodeSelf(e)
				}
			}
			if yyr2158 || yy2arr2158 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2169 := z.EncBinary()
					_ = yym2169
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("subsets"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2170 := z.EncBinary()
					_ = yym2170
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			}
			if yyr2158 || yy2arr2158 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Endpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2171 := z.DecBinary()
	_ = yym2171
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2172 := r.ContainerType()
		if yyct2172 == codecSelferValueTypeMap1234 {
			yyl2172 := r.ReadMapStart()
			if yyl2172 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2172, d)
			}
		} else if yyct2172 == codecSelferValueTypeArray1234 {
			yyl2172 := r.ReadArrayStart()
			if yyl2172 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2172, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Endpoints) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2173Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2173Slc
	var yyhl2173 bool = l >= 0
	for yyj2173 := 0; ; yyj2173++ {
		if yyhl2173 {
			if yyj2173 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2173Slc = r.DecodeBytes(yys2173Slc, true, true)
		yys2173 := string(yys2173Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2173 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2176 := &x.ObjectMeta
				yyv2176.CodecDecodeSelf(d)
			}
		case "subsets":
			if r.TryDecodeAsNil() {
				x.Subsets = nil
			} else {
				yyv2177 := &x.Subsets
				yym2178 := z.DecBinary()
				_ = yym2178
				if false {
				} else {
					h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2177), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2173)
		} // end switch yys2173
	} // end for yyj2173
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Endpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2179 int
	var yyb2179 bool
	var yyhl2179 bool = l >= 0
	yyj2179++
	if yyhl2179 {
		yyb2179 = yyj2179 > l
	} else {
		yyb2179 = r.CheckBreak()
	}
	if yyb2179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2179++
	if yyhl2179 {
		yyb2179 = yyj2179 > l
	} else {
		yyb2179 = r.CheckBreak()
	}
	if yyb2179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2179++
	if yyhl2179 {
		yyb2179 = yyj2179 > l
	} else {
		yyb2179 = r.CheckBreak()
	}
	if yyb2179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2182 := &x.ObjectMeta
		yyv2182.CodecDecodeSelf(d)
	}
	yyj2179++
	if yyhl2179 {
		yyb2179 = yyj2179 > l
	} else {
		yyb2179 = r.CheckBreak()
	}
	if yyb2179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Subsets = nil
	} else {
		yyv2183 := &x.Subsets
		yym2184 := z.DecBinary()
		_ = yym2184
		if false {
		} else {
			h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2183), d)
		}
	}
	for {
		yyj2179++
		if yyhl2179 {
			yyb2179 = yyj2179 > l
		} else {
			yyb2179 = r.CheckBreak()
		}
		if yyb2179 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2179-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointSubset) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2185 := z.EncBinary()
		_ = yym2185
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2186 := !z.EncBinary()
			yy2arr2186 := z.EncBasicHandle().StructToArray
			var yyq2186 [3]bool
			_, _, _ = yysep2186, yyq2186, yy2arr2186
			const yyr2186 bool = false
			yyq2186[0] = len(x.Addresses) != 0
			yyq2186[1] = len(x.NotReadyAddresses) != 0
			yyq2186[2] = len(x.Ports) != 0
			var yynn2186 int
			if yyr2186 || yy2arr2186 {
				r.EncodeArrayStart(3)
			} else {
				yynn2186 = 0
				for _, b := range yyq2186 {
					if b {
						yynn2186++
					}
				}
				r.EncodeMapStart(yynn2186)
				yynn2186 = 0
			}
			if yyr2186 || yy2arr2186 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2186[0] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2188 := z.EncBinary()
						_ = yym2188
						if false {
						} else {
							h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2186[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2189 := z.EncBinary()
						_ = yym2189
						if false {
						} else {
							h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr2186 || yy2arr2186 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2186[1] {
					if x.NotReadyAddresses == nil {
						r.EncodeNil()
					} else {
						yym2191 := z.EncBinary()
						_ = yym2191
						if false {
						} else {
							h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2186[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("notReadyAddresses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NotReadyAddresses == nil {
						r.EncodeNil()
					} else {
						yym2192 := z.EncBinary()
						_ = yym2192
						if false {
						} else {
							h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
						}
					}
				}
			}
			if yyr2186 || yy2arr2186 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2186[2] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym2194 := z.EncBinary()
						_ = yym2194
						if false {
						} else {
							h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2186[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym2195 := z.EncBinary()
						_ = yym2195
						if false {
						} else {
							h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
						}
					}
				}
			}
			if yyr2186 || yy2arr2186 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointSubset) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2196 := z.DecBinary()
	_ = yym2196
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2197 := r.ContainerType()
		if yyct2197 == codecSelferValueTypeMap1234 {
			yyl2197 := r.ReadMapStart()
			if yyl2197 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2197, d)
			}
		} else if yyct2197 == codecSelferValueTypeArray1234 {
			yyl2197 := r.ReadArrayStart()
			if yyl2197 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2197, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointSubset) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2198Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2198Slc
	var yyhl2198 bool = l >= 0
	for yyj2198 := 0; ; yyj2198++ {
		if yyhl2198 {
			if yyj2198 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2198Slc = r.DecodeBytes(yys2198Slc, true, true)
		yys2198 := string(yys2198Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2198 {
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2199 := &x.Addresses
				yym2200 := z.DecBinary()
				_ = yym2200
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2199), d)
				}
			}
		case "notReadyAddresses":
			if r.TryDecodeAsNil() {
				x.NotReadyAddresses = nil
			} else {
				yyv2201 := &x.NotReadyAddresses
				yym2202 := z.DecBinary()
				_ = yym2202
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2201), d)
				}
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2203 := &x.Ports
				yym2204 := z.DecBinary()
				_ = yym2204
				if false {
				} else {
					h.decSliceEndpointPort((*[]EndpointPort)(yyv2203), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2198)
		} // end switch yys2198
	} // end for yyj2198
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointSubset) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2205 int
	var yyb2205 bool
	var yyhl2205 bool = l >= 0
	yyj2205++
	if yyhl2205 {
		yyb2205 = yyj2205 > l
	} else {
		yyb2205 = r.CheckBreak()
	}
	if yyb2205 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2206 := &x.Addresses
		yym2207 := z.DecBinary()
		_ = yym2207
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2206), d)
		}
	}
	yyj2205++
	if yyhl2205 {
		yyb2205 = yyj2205 > l
	} else {
		yyb2205 = r.CheckBreak()
	}
	if yyb2205 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NotReadyAddresses = nil
	} else {
		yyv2208 := &x.NotReadyAddresses
		yym2209 := z.DecBinary()
		_ = yym2209
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2208), d)
		}
	}
	yyj2205++
	if yyhl2205 {
		yyb2205 = yyj2205 > l
	} else {
		yyb2205 = r.CheckBreak()
	}
	if yyb2205 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2210 := &x.Ports
		yym2211 := z.DecBinary()
		_ = yym2211
		if false {
		} else {
			h.decSliceEndpointPort((*[]EndpointPort)(yyv2210), d)
		}
	}
	for {
		yyj2205++
		if yyhl2205 {
			yyb2205 = yyj2205 > l
		} else {
			yyb2205 = r.CheckBreak()
		}
		if yyb2205 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2205-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2212 := z.EncBinary()
		_ = yym2212
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2213 := !z.EncBinary()
			yy2arr2213 := z.EncBasicHandle().StructToArray
			var yyq2213 [2]bool
			_, _, _ = yysep2213, yyq2213, yy2arr2213
			const yyr2213 bool = false
			yyq2213[1] = x.TargetRef != nil
			var yynn2213 int
			if yyr2213 || yy2arr2213 {
				r.EncodeArrayStart(2)
			} else {
				yynn2213 = 1
				for _, b := range yyq2213 {
					if b {
						yynn2213++
					}
				}
				r.EncodeMapStart(yynn2213)
				yynn2213 = 0
			}
			if yyr2213 || yy2arr2213 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2215 := z.EncBinary()
				_ = yym2215
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ip"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2216 := z.EncBinary()
				_ = yym2216
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			}
			if yyr2213 || yy2arr2213 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2213[1] {
					if x.TargetRef == nil {
						r.EncodeNil()
					} else {
						x.TargetRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2213[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("targetRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TargetRef == nil {
						r.EncodeNil()
					} else {
						x.TargetRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2213 || yy2arr2213 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2218 := z.DecBinary()
	_ = yym2218
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2219 := r.ContainerType()
		if yyct2219 == codecSelferValueTypeMap1234 {
			yyl2219 := r.ReadMapStart()
			if yyl2219 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2219, d)
			}
		} else if yyct2219 == codecSelferValueTypeArray1234 {
			yyl2219 := r.ReadArrayStart()
			if yyl2219 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2219, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointAddress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2220Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2220Slc
	var yyhl2220 bool = l >= 0
	for yyj2220 := 0; ; yyj2220++ {
		if yyhl2220 {
			if yyj2220 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2220Slc = r.DecodeBytes(yys2220Slc, true, true)
		yys2220 := string(yys2220Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2220 {
		case "ip":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(r.DecodeString())
			}
		case "targetRef":
			if r.TryDecodeAsNil() {
				if x.TargetRef != nil {
					x.TargetRef = nil
				}
			} else {
				if x.TargetRef == nil {
					x.TargetRef = new(ObjectReference)
				}
				x.TargetRef.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2220)
		} // end switch yys2220
	} // end for yyj2220
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2223 int
	var yyb2223 bool
	var yyhl2223 bool = l >= 0
	yyj2223++
	if yyhl2223 {
		yyb2223 = yyj2223 > l
	} else {
		yyb2223 = r.CheckBreak()
	}
	if yyb2223 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2223++
	if yyhl2223 {
		yyb2223 = yyj2223 > l
	} else {
		yyb2223 = r.CheckBreak()
	}
	if yyb2223 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TargetRef != nil {
			x.TargetRef = nil
		}
	} else {
		if x.TargetRef == nil {
			x.TargetRef = new(ObjectReference)
		}
		x.TargetRef.CodecDecodeSelf(d)
	}
	for {
		yyj2223++
		if yyhl2223 {
			yyb2223 = yyj2223 > l
		} else {
			yyb2223 = r.CheckBreak()
		}
		if yyb2223 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2223-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2226 := z.EncBinary()
		_ = yym2226
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2227 := !z.EncBinary()
			yy2arr2227 := z.EncBasicHandle().StructToArray
			var yyq2227 [3]bool
			_, _, _ = yysep2227, yyq2227, yy2arr2227
			const yyr2227 bool = false
			yyq2227[0] = x.Name != ""
			yyq2227[2] = x.Protocol != ""
			var yynn2227 int
			if yyr2227 || yy2arr2227 {
				r.EncodeArrayStart(3)
			} else {
				yynn2227 = 1
				for _, b := range yyq2227 {
					if b {
						yynn2227++
					}
				}
				r.EncodeMapStart(yynn2227)
				yynn2227 = 0
			}
			if yyr2227 || yy2arr2227 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2227[0] {
					yym2229 := z.EncBinary()
					_ = yym2229
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2227[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2230 := z.EncBinary()
					_ = yym2230
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2227 || yy2arr2227 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2232 := z.EncBinary()
				_ = yym2232
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2233 := z.EncBinary()
				_ = yym2233
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2227 || yy2arr2227 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2227[2] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2227[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr2227 || yy2arr2227 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2235 := z.DecBinary()
	_ = yym2235
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2236 := r.ContainerType()
		if yyct2236 == codecSelferValueTypeMap1234 {
			yyl2236 := r.ReadMapStart()
			if yyl2236 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2236, d)
			}
		} else if yyct2236 == codecSelferValueTypeArray1234 {
			yyl2236 := r.ReadArrayStart()
			if yyl2236 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2236, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointPort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2237Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2237Slc
	var yyhl2237 bool = l >= 0
	for yyj2237 := 0; ; yyj2237++ {
		if yyhl2237 {
			if yyj2237 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2237Slc = r.DecodeBytes(yys2237Slc, true, true)
		yys2237 := string(yys2237Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2237 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2237)
		} // end switch yys2237
	} // end for yyj2237
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2241 int
	var yyb2241 bool
	var yyhl2241 bool = l >= 0
	yyj2241++
	if yyhl2241 {
		yyb2241 = yyj2241 > l
	} else {
		yyb2241 = r.CheckBreak()
	}
	if yyb2241 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2241++
	if yyhl2241 {
		yyb2241 = yyj2241 > l
	} else {
		yyb2241 = r.CheckBreak()
	}
	if yyb2241 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	yyj2241++
	if yyhl2241 {
		yyb2241 = yyj2241 > l
	} else {
		yyb2241 = r.CheckBreak()
	}
	if yyb2241 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	for {
		yyj2241++
		if yyhl2241 {
			yyb2241 = yyj2241 > l
		} else {
			yyb2241 = r.CheckBreak()
		}
		if yyb2241 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2241-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointsList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2245 := z.EncBinary()
		_ = yym2245
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2246 := !z.EncBinary()
			yy2arr2246 := z.EncBasicHandle().StructToArray
			var yyq2246 [4]bool
			_, _, _ = yysep2246, yyq2246, yy2arr2246
			const yyr2246 bool = false
			yyq2246[0] = x.Kind != ""
			yyq2246[1] = x.APIVersion != ""
			yyq2246[2] = true
			var yynn2246 int
			if yyr2246 || yy2arr2246 {
				r.EncodeArrayStart(4)
			} else {
				yynn2246 = 1
				for _, b := range yyq2246 {
					if b {
						yynn2246++
					}
				}
				r.EncodeMapStart(yynn2246)
				yynn2246 = 0
			}
			if yyr2246 || yy2arr2246 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2246[0] {
					yym2248 := z.EncBinary()
					_ = yym2248
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2246[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2249 := z.EncBinary()
					_ = yym2249
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2246 || yy2arr2246 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2246[1] {
					yym2251 := z.EncBinary()
					_ = yym2251
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2246[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2252 := z.EncBinary()
					_ = yym2252
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2246 || yy2arr2246 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2246[2] {
					yy2254 := &x.ListMeta
					yym2255 := z.EncBinary()
					_ = yym2255
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2254) {
					} else {
						z.EncFallback(yy2254)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2246[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2256 := &x.ListMeta
					yym2257 := z.EncBinary()
					_ = yym2257
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2256) {
					} else {
						z.EncFallback(yy2256)
					}
				}
			}
			if yyr2246 || yy2arr2246 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2259 := z.EncBinary()
					_ = yym2259
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2260 := z.EncBinary()
					_ = yym2260
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			}
			if yyr2246 || yy2arr2246 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointsList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2261 := z.DecBinary()
	_ = yym2261
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2262 := r.ContainerType()
		if yyct2262 == codecSelferValueTypeMap1234 {
			yyl2262 := r.ReadMapStart()
			if yyl2262 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2262, d)
			}
		} else if yyct2262 == codecSelferValueTypeArray1234 {
			yyl2262 := r.ReadArrayStart()
			if yyl2262 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2262, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointsList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2263Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2263Slc
	var yyhl2263 bool = l >= 0
	for yyj2263 := 0; ; yyj2263++ {
		if yyhl2263 {
			if yyj2263 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2263Slc = r.DecodeBytes(yys2263Slc, true, true)
		yys2263 := string(yys2263Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2263 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2266 := &x.ListMeta
				yym2267 := z.DecBinary()
				_ = yym2267
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2266) {
				} else {
					z.DecFallback(yyv2266, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2268 := &x.Items
				yym2269 := z.DecBinary()
				_ = yym2269
				if false {
				} else {
					h.decSliceEndpoints((*[]Endpoints)(yyv2268), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2263)
		} // end switch yys2263
	} // end for yyj2263
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointsList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2270 int
	var yyb2270 bool
	var yyhl2270 bool = l >= 0
	yyj2270++
	if yyhl2270 {
		yyb2270 = yyj2270 > l
	} else {
		yyb2270 = r.CheckBreak()
	}
	if yyb2270 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2270++
	if yyhl2270 {
		yyb2270 = yyj2270 > l
	} else {
		yyb2270 = r.CheckBreak()
	}
	if yyb2270 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2270++
	if yyhl2270 {
		yyb2270 = yyj2270 > l
	} else {
		yyb2270 = r.CheckBreak()
	}
	if yyb2270 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2273 := &x.ListMeta
		yym2274 := z.DecBinary()
		_ = yym2274
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2273) {
		} else {
			z.DecFallback(yyv2273, false)
		}
	}
	yyj2270++
	if yyhl2270 {
		yyb2270 = yyj2270 > l
	} else {
		yyb2270 = r.CheckBreak()
	}
	if yyb2270 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2275 := &x.Items
		yym2276 := z.DecBinary()
		_ = yym2276
		if false {
		} else {
			h.decSliceEndpoints((*[]Endpoints)(yyv2275), d)
		}
	}
	for {
		yyj2270++
		if yyhl2270 {
			yyb2270 = yyj2270 > l
		} else {
			yyb2270 = r.CheckBreak()
		}
		if yyb2270 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2270-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2277 := z.EncBinary()
		_ = yym2277
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2278 := !z.EncBinary()
			yy2arr2278 := z.EncBasicHandle().StructToArray
			var yyq2278 [4]bool
			_, _, _ = yysep2278, yyq2278, yy2arr2278
			const yyr2278 bool = false
			yyq2278[0] = x.PodCIDR != ""
			yyq2278[1] = x.ExternalID != ""
			yyq2278[2] = x.ProviderID != ""
			yyq2278[3] = x.Unschedulable != false
			var yynn2278 int
			if yyr2278 || yy2arr2278 {
				r.EncodeArrayStart(4)
			} else {
				yynn2278 = 0
				for _, b := range yyq2278 {
					if b {
						yynn2278++
					}
				}
				r.EncodeMapStart(yynn2278)
				yynn2278 = 0
			}
			if yyr2278 || yy2arr2278 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2278[0] {
					yym2280 := z.EncBinary()
					_ = yym2280
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2278[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podCIDR"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2281 := z.EncBinary()
					_ = yym2281
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				}
			}
			if yyr2278 || yy2arr2278 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2278[1] {
					yym2283 := z.EncBinary()
					_ = yym2283
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2278[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2284 := z.EncBinary()
					_ = yym2284
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				}
			}
			if yyr2278 || yy2arr2278 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2278[2] {
					yym2286 := z.EncBinary()
					_ = yym2286
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2278[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("providerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2287 := z.EncBinary()
					_ = yym2287
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				}
			}
			if yyr2278 || yy2arr2278 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2278[3] {
					yym2289 := z.EncBinary()
					_ = yym2289
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2278[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("unschedulable"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2290 := z.EncBinary()
					_ = yym2290
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				}
			}
			if yyr2278 || yy2arr2278 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2291 := z.DecBinary()
	_ = yym2291
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2292 := r.ContainerType()
		if yyct2292 == codecSelferValueTypeMap1234 {
			yyl2292 := r.ReadMapStart()
			if yyl2292 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2292, d)
			}
		} else if yyct2292 == codecSelferValueTypeArray1234 {
			yyl2292 := r.ReadArrayStart()
			if yyl2292 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2292, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2293Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2293Slc
	var yyhl2293 bool = l >= 0
	for yyj2293 := 0; ; yyj2293++ {
		if yyhl2293 {
			if yyj2293 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2293Slc = r.DecodeBytes(yys2293Slc, true, true)
		yys2293 := string(yys2293Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2293 {
		case "podCIDR":
			if r.TryDecodeAsNil() {
				x.PodCIDR = ""
			} else {
				x.PodCIDR = string(r.DecodeString())
			}
		case "externalID":
			if r.TryDecodeAsNil() {
				x.ExternalID = ""
			} else {
				x.ExternalID = string(r.DecodeString())
			}
		case "providerID":
			if r.TryDecodeAsNil() {
				x.ProviderID = ""
			} else {
				x.ProviderID = string(r.DecodeString())
			}
		case "unschedulable":
			if r.TryDecodeAsNil() {
				x.Unschedulable = false
			} else {
				x.Unschedulable = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2293)
		} // end switch yys2293
	} // end for yyj2293
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2298 int
	var yyb2298 bool
	var yyhl2298 bool = l >= 0
	yyj2298++
	if yyhl2298 {
		yyb2298 = yyj2298 > l
	} else {
		yyb2298 = r.CheckBreak()
	}
	if yyb2298 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodCIDR = ""
	} else {
		x.PodCIDR = string(r.DecodeString())
	}
	yyj2298++
	if yyhl2298 {
		yyb2298 = yyj2298 > l
	} else {
		yyb2298 = r.CheckBreak()
	}
	if yyb2298 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalID = ""
	} else {
		x.ExternalID = string(r.DecodeString())
	}
	yyj2298++
	if yyhl2298 {
		yyb2298 = yyj2298 > l
	} else {
		yyb2298 = r.CheckBreak()
	}
	if yyb2298 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ProviderID = ""
	} else {
		x.ProviderID = string(r.DecodeString())
	}
	yyj2298++
	if yyhl2298 {
		yyb2298 = yyj2298 > l
	} else {
		yyb2298 = r.CheckBreak()
	}
	if yyb2298 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Unschedulable = false
	} else {
		x.Unschedulable = bool(r.DecodeBool())
	}
	for {
		yyj2298++
		if yyhl2298 {
			yyb2298 = yyj2298 > l
		} else {
			yyb2298 = r.CheckBreak()
		}
		if yyb2298 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2298-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DaemonEndpoint) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2303 := z.EncBinary()
		_ = yym2303
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2304 := !z.EncBinary()
			yy2arr2304 := z.EncBasicHandle().StructToArray
			var yyq2304 [1]bool
			_, _, _ = yysep2304, yyq2304, yy2arr2304
			const yyr2304 bool = false
			var yynn2304 int
			if yyr2304 || yy2arr2304 {
				r.EncodeArrayStart(1)
			} else {
				yynn2304 = 1
				for _, b := range yyq2304 {
					if b {
						yynn2304++
					}
				}
				r.EncodeMapStart(yynn2304)
				yynn2304 = 0
			}
			if yyr2304 || yy2arr2304 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2306 := z.EncBinary()
				_ = yym2306
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2307 := z.EncBinary()
				_ = yym2307
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2304 || yy2arr2304 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DaemonEndpoint) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2308 := z.DecBinary()
	_ = yym2308
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2309 := r.ContainerType()
		if yyct2309 == codecSelferValueTypeMap1234 {
			yyl2309 := r.ReadMapStart()
			if yyl2309 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2309, d)
			}
		} else if yyct2309 == codecSelferValueTypeArray1234 {
			yyl2309 := r.ReadArrayStart()
			if yyl2309 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2309, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DaemonEndpoint) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2310Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2310Slc
	var yyhl2310 bool = l >= 0
	for yyj2310 := 0; ; yyj2310++ {
		if yyhl2310 {
			if yyj2310 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2310Slc = r.DecodeBytes(yys2310Slc, true, true)
		yys2310 := string(yys2310Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2310 {
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2310)
		} // end switch yys2310
	} // end for yyj2310
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DaemonEndpoint) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2312 int
	var yyb2312 bool
	var yyhl2312 bool = l >= 0
	yyj2312++
	if yyhl2312 {
		yyb2312 = yyj2312 > l
	} else {
		yyb2312 = r.CheckBreak()
	}
	if yyb2312 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	for {
		yyj2312++
		if yyhl2312 {
			yyb2312 = yyj2312 > l
		} else {
			yyb2312 = r.CheckBreak()
		}
		if yyb2312 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2312-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeDaemonEndpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2314 := z.EncBinary()
		_ = yym2314
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2315 := !z.EncBinary()
			yy2arr2315 := z.EncBasicHandle().StructToArray
			var yyq2315 [1]bool
			_, _, _ = yysep2315, yyq2315, yy2arr2315
			const yyr2315 bool = false
			yyq2315[0] = true
			var yynn2315 int
			if yyr2315 || yy2arr2315 {
				r.EncodeArrayStart(1)
			} else {
				yynn2315 = 0
				for _, b := range yyq2315 {
					if b {
						yynn2315++
					}
				}
				r.EncodeMapStart(yynn2315)
				yynn2315 = 0
			}
			if yyr2315 || yy2arr2315 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2315[0] {
					yy2317 := &x.KubeletEndpoint
					yy2317.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2315[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kubeletEndpoint"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2318 := &x.KubeletEndpoint
					yy2318.CodecEncodeSelf(e)
				}
			}
			if yyr2315 || yy2arr2315 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeDaemonEndpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2319 := z.DecBinary()
	_ = yym2319
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2320 := r.ContainerType()
		if yyct2320 == codecSelferValueTypeMap1234 {
			yyl2320 := r.ReadMapStart()
			if yyl2320 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2320, d)
			}
		} else if yyct2320 == codecSelferValueTypeArray1234 {
			yyl2320 := r.ReadArrayStart()
			if yyl2320 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2320, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2321Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2321Slc
	var yyhl2321 bool = l >= 0
	for yyj2321 := 0; ; yyj2321++ {
		if yyhl2321 {
			if yyj2321 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2321Slc = r.DecodeBytes(yys2321Slc, true, true)
		yys2321 := string(yys2321Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2321 {
		case "kubeletEndpoint":
			if r.TryDecodeAsNil() {
				x.KubeletEndpoint = DaemonEndpoint{}
			} else {
				yyv2322 := &x.KubeletEndpoint
				yyv2322.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2321)
		} // end switch yys2321
	} // end for yyj2321
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2323 int
	var yyb2323 bool
	var yyhl2323 bool = l >= 0
	yyj2323++
	if yyhl2323 {
		yyb2323 = yyj2323 > l
	} else {
		yyb2323 = r.CheckBreak()
	}
	if yyb2323 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletEndpoint = DaemonEndpoint{}
	} else {
		yyv2324 := &x.KubeletEndpoint
		yyv2324.CodecDecodeSelf(d)
	}
	for {
		yyj2323++
		if yyhl2323 {
			yyb2323 = yyj2323 > l
		} else {
			yyb2323 = r.CheckBreak()
		}
		if yyb2323 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2323-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2325 := z.EncBinary()
		_ = yym2325
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2326 := !z.EncBinary()
			yy2arr2326 := z.EncBasicHandle().StructToArray
			var yyq2326 [8]bool
			_, _, _ = yysep2326, yyq2326, yy2arr2326
			const yyr2326 bool = false
			var yynn2326 int
			if yyr2326 || yy2arr2326 {
				r.EncodeArrayStart(8)
			} else {
				yynn2326 = 8
				for _, b := range yyq2326 {
					if b {
						yynn2326++
					}
				}
				r.EncodeMapStart(yynn2326)
				yynn2326 = 0
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2328 := z.EncBinary()
				_ = yym2328
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("machineID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2329 := z.EncBinary()
				_ = yym2329
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2331 := z.EncBinary()
				_ = yym2331
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("systemUUID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2332 := z.EncBinary()
				_ = yym2332
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2334 := z.EncBinary()
				_ = yym2334
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("bootID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2335 := z.EncBinary()
				_ = yym2335
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2337 := z.EncBinary()
				_ = yym2337
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kernelVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2338 := z.EncBinary()
				_ = yym2338
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2340 := z.EncBinary()
				_ = yym2340
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OSImage))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("osImage"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2341 := z.EncBinary()
				_ = yym2341
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OSImage))
				}
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2343 := z.EncBinary()
				_ = yym2343
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containerRuntimeVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2344 := z.EncBinary()
				_ = yym2344
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2346 := z.EncBinary()
				_ = yym2346
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kubeletVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2347 := z.EncBinary()
				_ = yym2347
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2349 := z.EncBinary()
				_ = yym2349
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kubeProxyVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2350 := z.EncBinary()
				_ = yym2350
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			}
			if yyr2326 || yy2arr2326 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSystemInfo) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2351 := z.DecBinary()
	_ = yym2351
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2352 := r.ContainerType()
		if yyct2352 == codecSelferValueTypeMap1234 {
			yyl2352 := r.ReadMapStart()
			if yyl2352 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2352, d)
			}
		} else if yyct2352 == codecSelferValueTypeArray1234 {
			yyl2352 := r.ReadArrayStart()
			if yyl2352 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2352, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSystemInfo) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2353Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2353Slc
	var yyhl2353 bool = l >= 0
	for yyj2353 := 0; ; yyj2353++ {
		if yyhl2353 {
			if yyj2353 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2353Slc = r.DecodeBytes(yys2353Slc, true, true)
		yys2353 := string(yys2353Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2353 {
		case "machineID":
			if r.TryDecodeAsNil() {
				x.MachineID = ""
			} else {
				x.MachineID = string(r.DecodeString())
			}
		case "systemUUID":
			if r.TryDecodeAsNil() {
				x.SystemUUID = ""
			} else {
				x.SystemUUID = string(r.DecodeString())
			}
		case "bootID":
			if r.TryDecodeAsNil() {
				x.BootID = ""
			} else {
				x.BootID = string(r.DecodeString())
			}
		case "kernelVersion":
			if r.TryDecodeAsNil() {
				x.KernelVersion = ""
			} else {
				x.KernelVersion = string(r.DecodeString())
			}
		case "osImage":
			if r.TryDecodeAsNil() {
				x.OSImage = ""
			} else {
				x.OSImage = string(r.DecodeString())
			}
		case "containerRuntimeVersion":
			if r.TryDecodeAsNil() {
				x.ContainerRuntimeVersion = ""
			} else {
				x.ContainerRuntimeVersion = string(r.DecodeString())
			}
		case "kubeletVersion":
			if r.TryDecodeAsNil() {
				x.KubeletVersion = ""
			} else {
				x.KubeletVersion = string(r.DecodeString())
			}
		case "kubeProxyVersion":
			if r.TryDecodeAsNil() {
				x.KubeProxyVersion = ""
			} else {
				x.KubeProxyVersion = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2353)
		} // end switch yys2353
	} // end for yyj2353
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2362 int
	var yyb2362 bool
	var yyhl2362 bool = l >= 0
	yyj2362++
	if yyhl2362 {
		yyb2362 = yyj2362 > l
	} else {
		yyb2362 = r.CheckBreak()
	}
	if yyb2362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MachineID = ""
	} else {
		x.MachineID = string(r.DecodeString())
	}
	yyj2362++
	if yyhl2362 {
		yyb2362 = yyj2362 > l
	} else {
		yyb2362 = r.CheckBreak()
	}
	if yyb2362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SystemUUID = ""
	} else {
		x.SystemUUID = string(r.DecodeString())
	}
	yyj2362++
	if yyhl2362 {
		yyb2362 = yyj2362 > l
	} else {
		yyb2362 = r.CheckBreak()
	}
	if yyb2362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.BootID = ""
	} else {
		x.BootID = string(r.DecodeString())
	}
	yyj2362++
	if yyhl2362 {
		yyb2362 = yyj2362 > l
	} else {
		yyb2362 = r.CheckBreak()
	}
	if yyb2362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KernelVersion = ""
	} else {
		x.KernelVersion = string(r.DecodeString())
	}
	yyj2362++
	if yyhl2362 {
		yyb2362 = yyj2362 > l
	} else {
		yyb2362 = r.CheckBreak()
	}
	if yyb2362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OSImage = ""
	} else {
		x.OSImage = string(r.DecodeString())
	}
	yyj2362++
	if yyhl2362 {
		yyb2362 = yyj2362 > l
	} else {
		yyb2362 = r.CheckBreak()
	}
	if yyb2362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerRuntimeVersion = ""
	} else {
		x.ContainerRuntimeVersion = string(r.DecodeString())
	}
	yyj2362++
	if yyhl2362 {
		yyb2362 = yyj2362 > l
	} else {
		yyb2362 = r.CheckBreak()
	}
	if yyb2362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletVersion = ""
	} else {
		x.KubeletVersion = string(r.DecodeString())
	}
	yyj2362++
	if yyhl2362 {
		yyb2362 = yyj2362 > l
	} else {
		yyb2362 = r.CheckBreak()
	}
	if yyb2362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeProxyVersion = ""
	} else {
		x.KubeProxyVersion = string(r.DecodeString())
	}
	for {
		yyj2362++
		if yyhl2362 {
			yyb2362 = yyj2362 > l
		} else {
			yyb2362 = r.CheckBreak()
		}
		if yyb2362 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2362-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2371 := z.EncBinary()
		_ = yym2371
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2372 := !z.EncBinary()
			yy2arr2372 := z.EncBasicHandle().StructToArray
			var yyq2372 [8]bool
			_, _, _ = yysep2372, yyq2372, yy2arr2372
			const yyr2372 bool = false
			yyq2372[0] = len(x.Capacity) != 0
			yyq2372[1] = len(x.Allocatable) != 0
			yyq2372[2] = x.Phase != ""
			yyq2372[3] = len(x.Conditions) != 0
			yyq2372[4] = len(x.Addresses) != 0
			yyq2372[5] = true
			yyq2372[6] = true
			var yynn2372 int
			if yyr2372 || yy2arr2372 {
				r.EncodeArrayStart(8)
			} else {
				yynn2372 = 1
				for _, b := range yyq2372 {
					if b {
						yynn2372++
					}
				}
				r.EncodeMapStart(yynn2372)
				yynn2372 = 0
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2372[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2372[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2372[1] {
					if x.Allocatable == nil {
						r.EncodeNil()
					} else {
						x.Allocatable.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2372[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("allocatable"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Allocatable == nil {
						r.EncodeNil()
					} else {
						x.Allocatable.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2372[2] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2372[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2372[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2377 := z.EncBinary()
						_ = yym2377
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2372[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2378 := z.EncBinary()
						_ = yym2378
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2372[4] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2380 := z.EncBinary()
						_ = yym2380
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2372[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2381 := z.EncBinary()
						_ = yym2381
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2372[5] {
					yy2383 := &x.DaemonEndpoints
					yy2383.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2372[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("daemonEndpoints"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2384 := &x.DaemonEndpoints
					yy2384.CodecEncodeSelf(e)
				}
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2372[6] {
					yy2386 := &x.NodeInfo
					yy2386.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2372[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeInfo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2387 := &x.NodeInfo
					yy2387.CodecEncodeSelf(e)
				}
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Images == nil {
					r.EncodeNil()
				} else {
					yym2389 := z.EncBinary()
					_ = yym2389
					if false {
					} else {
						h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("images"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Images == nil {
					r.EncodeNil()
				} else {
					yym2390 := z.EncBinary()
					_ = yym2390
					if false {
					} else {
						h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
					}
				}
			}
			if yyr2372 || yy2arr2372 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2391 := z.DecBinary()
	_ = yym2391
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2392 := r.ContainerType()
		if yyct2392 == codecSelferValueTypeMap1234 {
			yyl2392 := r.ReadMapStart()
			if yyl2392 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2392, d)
			}
		} else if yyct2392 == codecSelferValueTypeArray1234 {
			yyl2392 := r.ReadArrayStart()
			if yyl2392 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2392, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2393Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2393Slc
	var yyhl2393 bool = l >= 0
	for yyj2393 := 0; ; yyj2393++ {
		if yyhl2393 {
			if yyj2393 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2393Slc = r.DecodeBytes(yys2393Slc, true, true)
		yys2393 := string(yys2393Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2393 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv2394 := &x.Capacity
				yyv2394.CodecDecodeSelf(d)
			}
		case "allocatable":
			if r.TryDecodeAsNil() {
				x.Allocatable = nil
			} else {
				yyv2395 := &x.Allocatable
				yyv2395.CodecDecodeSelf(d)
			}
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NodePhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2397 := &x.Conditions
				yym2398 := z.DecBinary()
				_ = yym2398
				if false {
				} else {
					h.decSliceNodeCondition((*[]NodeCondition)(yyv2397), d)
				}
			}
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2399 := &x.Addresses
				yym2400 := z.DecBinary()
				_ = yym2400
				if false {
				} else {
					h.decSliceNodeAddress((*[]NodeAddress)(yyv2399), d)
				}
			}
		case "daemonEndpoints":
			if r.TryDecodeAsNil() {
				x.DaemonEndpoints = NodeDaemonEndpoints{}
			} else {
				yyv2401 := &x.DaemonEndpoints
				yyv2401.CodecDecodeSelf(d)
			}
		case "nodeInfo":
			if r.TryDecodeAsNil() {
				x.NodeInfo = NodeSystemInfo{}
			} else {
				yyv2402 := &x.NodeInfo
				yyv2402.CodecDecodeSelf(d)
			}
		case "images":
			if r.TryDecodeAsNil() {
				x.Images = nil
			} else {
				yyv2403 := &x.Images
				yym2404 := z.DecBinary()
				_ = yym2404
				if false {
				} else {
					h.decSliceContainerImage((*[]ContainerImage)(yyv2403), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2393)
		} // end switch yys2393
	} // end for yyj2393
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2405 int
	var yyb2405 bool
	var yyhl2405 bool = l >= 0
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv2406 := &x.Capacity
		yyv2406.CodecDecodeSelf(d)
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Allocatable = nil
	} else {
		yyv2407 := &x.Allocatable
		yyv2407.CodecDecodeSelf(d)
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NodePhase(r.DecodeString())
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2409 := &x.Conditions
		yym2410 := z.DecBinary()
		_ = yym2410
		if false {
		} else {
			h.decSliceNodeCondition((*[]NodeCondition)(yyv2409), d)
		}
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2411 := &x.Addresses
		yym2412 := z.DecBinary()
		_ = yym2412
		if false {
		} else {
			h.decSliceNodeAddress((*[]NodeAddress)(yyv2411), d)
		}
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DaemonEndpoints = NodeDaemonEndpoints{}
	} else {
		yyv2413 := &x.DaemonEndpoints
		yyv2413.CodecDecodeSelf(d)
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeInfo = NodeSystemInfo{}
	} else {
		yyv2414 := &x.NodeInfo
		yyv2414.CodecDecodeSelf(d)
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Images = nil
	} else {
		yyv2415 := &x.Images
		yym2416 := z.DecBinary()
		_ = yym2416
		if false {
		} else {
			h.decSliceContainerImage((*[]ContainerImage)(yyv2415), d)
		}
	}
	for {
		yyj2405++
		if yyhl2405 {
			yyb2405 = yyj2405 > l
		} else {
			yyb2405 = r.CheckBreak()
		}
		if yyb2405 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2405-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerImage) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2417 := z.EncBinary()
		_ = yym2417
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2418 := !z.EncBinary()
			yy2arr2418 := z.EncBasicHandle().StructToArray
			var yyq2418 [2]bool
			_, _, _ = yysep2418, yyq2418, yy2arr2418
			const yyr2418 bool = false
			yyq2418[1] = x.Size != 0
			var yynn2418 int
			if yyr2418 || yy2arr2418 {
				r.EncodeArrayStart(2)
			} else {
				yynn2418 = 1
				for _, b := range yyq2418 {
					if b {
						yynn2418++
					}
				}
				r.EncodeMapStart(yynn2418)
				yynn2418 = 0
			}
			if yyr2418 || yy2arr2418 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.RepoTags == nil {
					r.EncodeNil()
				} else {
					yym2420 := z.EncBinary()
					_ = yym2420
					if false {
					} else {
						z.F.EncSliceStringV(x.RepoTags, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("repoTags"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.RepoTags == nil {
					r.EncodeNil()
				} else {
					yym2421 := z.EncBinary()
					_ = yym2421
					if false {
					} else {
						z.F.EncSliceStringV(x.RepoTags, false, e)
					}
				}
			}
			if yyr2418 || yy2arr2418 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2418[1] {
					yym2423 := z.EncBinary()
					_ = yym2423
					if false {
					} else {
						r.EncodeInt(int64(x.Size))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2418[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("size"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2424 := z.EncBinary()
					_ = yym2424
					if false {
					} else {
						r.EncodeInt(int64(x.Size))
					}
				}
			}
			if yyr2418 || yy2arr2418 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerImage) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2425 := z.DecBinary()
	_ = yym2425
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2426 := r.ContainerType()
		if yyct2426 == codecSelferValueTypeMap1234 {
			yyl2426 := r.ReadMapStart()
			if yyl2426 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2426, d)
			}
		} else if yyct2426 == codecSelferValueTypeArray1234 {
			yyl2426 := r.ReadArrayStart()
			if yyl2426 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2426, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerImage) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2427Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2427Slc
	var yyhl2427 bool = l >= 0
	for yyj2427 := 0; ; yyj2427++ {
		if yyhl2427 {
			if yyj2427 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2427Slc = r.DecodeBytes(yys2427Slc, true, true)
		yys2427 := string(yys2427Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2427 {
		case "repoTags":
			if r.TryDecodeAsNil() {
				x.RepoTags = nil
			} else {
				yyv2428 := &x.RepoTags
				yym2429 := z.DecBinary()
				_ = yym2429
				if false {
				} else {
					z.F.DecSliceStringX(yyv2428, false, d)
				}
			}
		case "size":
			if r.TryDecodeAsNil() {
				x.Size = 0
			} else {
				x.Size = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2427)
		} // end switch yys2427
	} // end for yyj2427
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerImage) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2431 int
	var yyb2431 bool
	var yyhl2431 bool = l >= 0
	yyj2431++
	if yyhl2431 {
		yyb2431 = yyj2431 > l
	} else {
		yyb2431 = r.CheckBreak()
	}
	if yyb2431 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RepoTags = nil
	} else {
		yyv2432 := &x.RepoTags
		yym2433 := z.DecBinary()
		_ = yym2433
		if false {
		} else {
			z.F.DecSliceStringX(yyv2432, false, d)
		}
	}
	yyj2431++
	if yyhl2431 {
		yyb2431 = yyj2431 > l
	} else {
		yyb2431 = r.CheckBreak()
	}
	if yyb2431 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Size = 0
	} else {
		x.Size = int64(r.DecodeInt(64))
	}
	for {
		yyj2431++
		if yyhl2431 {
			yyb2431 = yyj2431 > l
		} else {
			yyb2431 = r.CheckBreak()
		}
		if yyb2431 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2431-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2435 := z.EncBinary()
	_ = yym2435
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2436 := z.DecBinary()
	_ = yym2436
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x NodeConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2437 := z.EncBinary()
	_ = yym2437
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2438 := z.DecBinary()
	_ = yym2438
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2439 := z.EncBinary()
		_ = yym2439
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2440 := !z.EncBinary()
			yy2arr2440 := z.EncBasicHandle().StructToArray
			var yyq2440 [6]bool
			_, _, _ = yysep2440, yyq2440, yy2arr2440
			const yyr2440 bool = false
			yyq2440[2] = true
			yyq2440[3] = true
			yyq2440[4] = x.Reason != ""
			yyq2440[5] = x.Message != ""
			var yynn2440 int
			if yyr2440 || yy2arr2440 {
				r.EncodeArrayStart(6)
			} else {
				yynn2440 = 2
				for _, b := range yyq2440 {
					if b {
						yynn2440++
					}
				}
				r.EncodeMapStart(yynn2440)
				yynn2440 = 0
			}
			if yyr2440 || yy2arr2440 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr2440 || yy2arr2440 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr2440 || yy2arr2440 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2440[2] {
					yy2444 := &x.LastHeartbeatTime
					yym2445 := z.EncBinary()
					_ = yym2445
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2444) {
					} else if yym2445 {
						z.EncBinaryMarshal(yy2444)
					} else if !yym2445 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2444)
					} else {
						z.EncFallback(yy2444)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2440[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastHeartbeatTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2446 := &x.LastHeartbeatTime
					yym2447 := z.EncBinary()
					_ = yym2447
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2446) {
					} else if yym2447 {
						z.EncBinaryMarshal(yy2446)
					} else if !yym2447 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2446)
					} else {
						z.EncFallback(yy2446)
					}
				}
			}
			if yyr2440 || yy2arr2440 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2440[3] {
					yy2449 := &x.LastTransitionTime
					yym2450 := z.EncBinary()
					_ = yym2450
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2449) {
					} else if yym2450 {
						z.EncBinaryMarshal(yy2449)
					} else if !yym2450 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2449)
					} else {
						z.EncFallback(yy2449)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2440[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2451 := &x.LastTransitionTime
					yym2452 := z.EncBinary()
					_ = yym2452
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2451) {
					} else if yym2452 {
						z.EncBinaryMarshal(yy2451)
					} else if !yym2452 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2451)
					} else {
						z.EncFallback(yy2451)
					}
				}
			}
			if yyr2440 || yy2arr2440 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2440[4] {
					yym2454 := z.EncBinary()
					_ = yym2454
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2440[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2455 := z.EncBinary()
					_ = yym2455
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2440 || yy2arr2440 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2440[5] {
					yym2457 := z.EncBinary()
					_ = yym2457
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2440[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2458 := z.EncBinary()
					_ = yym2458
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2440 || yy2arr2440 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2459 := z.DecBinary()
	_ = yym2459
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2460 := r.ContainerType()
		if yyct2460 == codecSelferValueTypeMap1234 {
			yyl2460 := r.ReadMapStart()
			if yyl2460 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2460, d)
			}
		} else if yyct2460 == codecSelferValueTypeArray1234 {
			yyl2460 := r.ReadArrayStart()
			if yyl2460 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2460, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2461Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2461Slc
	var yyhl2461 bool = l >= 0
	for yyj2461 := 0; ; yyj2461++ {
		if yyhl2461 {
			if yyj2461 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2461Slc = r.DecodeBytes(yys2461Slc, true, true)
		yys2461 := string(yys2461Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2461 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = NodeConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastHeartbeatTime":
			if r.TryDecodeAsNil() {
				x.LastHeartbeatTime = pkg2_unversioned.Time{}
			} else {
				yyv2464 := &x.LastHeartbeatTime
				yym2465 := z.DecBinary()
				_ = yym2465
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2464) {
				} else if yym2465 {
					z.DecBinaryUnmarshal(yyv2464)
				} else if !yym2465 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2464)
				} else {
					z.DecFallback(yyv2464, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv2466 := &x.LastTransitionTime
				yym2467 := z.DecBinary()
				_ = yym2467
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2466) {
				} else if yym2467 {
					z.DecBinaryUnmarshal(yyv2466)
				} else if !yym2467 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2466)
				} else {
					z.DecFallback(yyv2466, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2461)
		} // end switch yys2461
	} // end for yyj2461
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2470 int
	var yyb2470 bool
	var yyhl2470 bool = l >= 0
	yyj2470++
	if yyhl2470 {
		yyb2470 = yyj2470 > l
	} else {
		yyb2470 = r.CheckBreak()
	}
	if yyb2470 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeConditionType(r.DecodeString())
	}
	yyj2470++
	if yyhl2470 {
		yyb2470 = yyj2470 > l
	} else {
		yyb2470 = r.CheckBreak()
	}
	if yyb2470 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj2470++
	if yyhl2470 {
		yyb2470 = yyj2470 > l
	} else {
		yyb2470 = r.CheckBreak()
	}
	if yyb2470 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastHeartbeatTime = pkg2_unversioned.Time{}
	} else {
		yyv2473 := &x.LastHeartbeatTime
		yym2474 := z.DecBinary()
		_ = yym2474
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2473) {
		} else if yym2474 {
			z.DecBinaryUnmarshal(yyv2473)
		} else if !yym2474 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2473)
		} else {
			z.DecFallback(yyv2473, false)
		}
	}
	yyj2470++
	if yyhl2470 {
		yyb2470 = yyj2470 > l
	} else {
		yyb2470 = r.CheckBreak()
	}
	if yyb2470 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv2475 := &x.LastTransitionTime
		yym2476 := z.DecBinary()
		_ = yym2476
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2475) {
		} else if yym2476 {
			z.DecBinaryUnmarshal(yyv2475)
		} else if !yym2476 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2475)
		} else {
			z.DecFallback(yyv2475, false)
		}
	}
	yyj2470++
	if yyhl2470 {
		yyb2470 = yyj2470 > l
	} else {
		yyb2470 = r.CheckBreak()
	}
	if yyb2470 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2470++
	if yyhl2470 {
		yyb2470 = yyj2470 > l
	} else {
		yyb2470 = r.CheckBreak()
	}
	if yyb2470 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj2470++
		if yyhl2470 {
			yyb2470 = yyj2470 > l
		} else {
			yyb2470 = r.CheckBreak()
		}
		if yyb2470 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2470-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodeAddressType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2479 := z.EncBinary()
	_ = yym2479
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeAddressType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2480 := z.DecBinary()
	_ = yym2480
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2481 := z.EncBinary()
		_ = yym2481
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2482 := !z.EncBinary()
			yy2arr2482 := z.EncBasicHandle().StructToArray
			var yyq2482 [2]bool
			_, _, _ = yysep2482, yyq2482, yy2arr2482
			const yyr2482 bool = false
			var yynn2482 int
			if yyr2482 || yy2arr2482 {
				r.EncodeArrayStart(2)
			} else {
				yynn2482 = 2
				for _, b := range yyq2482 {
					if b {
						yynn2482++
					}
				}
				r.EncodeMapStart(yynn2482)
				yynn2482 = 0
			}
			if yyr2482 || yy2arr2482 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr2482 || yy2arr2482 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2485 := z.EncBinary()
				_ = yym2485
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("address"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2486 := z.EncBinary()
				_ = yym2486
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			}
			if yyr2482 || yy2arr2482 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2487 := z.DecBinary()
	_ = yym2487
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2488 := r.ContainerType()
		if yyct2488 == codecSelferValueTypeMap1234 {
			yyl2488 := r.ReadMapStart()
			if yyl2488 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2488, d)
			}
		} else if yyct2488 == codecSelferValueTypeArray1234 {
			yyl2488 := r.ReadArrayStart()
			if yyl2488 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2488, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeAddress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2489Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2489Slc
	var yyhl2489 bool = l >= 0
	for yyj2489 := 0; ; yyj2489++ {
		if yyhl2489 {
			if yyj2489 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2489Slc = r.DecodeBytes(yys2489Slc, true, true)
		yys2489 := string(yys2489Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2489 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = NodeAddressType(r.DecodeString())
			}
		case "address":
			if r.TryDecodeAsNil() {
				x.Address = ""
			} else {
				x.Address = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2489)
		} // end switch yys2489
	} // end for yyj2489
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2492 int
	var yyb2492 bool
	var yyhl2492 bool = l >= 0
	yyj2492++
	if yyhl2492 {
		yyb2492 = yyj2492 > l
	} else {
		yyb2492 = r.CheckBreak()
	}
	if yyb2492 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeAddressType(r.DecodeString())
	}
	yyj2492++
	if yyhl2492 {
		yyb2492 = yyj2492 > l
	} else {
		yyb2492 = r.CheckBreak()
	}
	if yyb2492 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Address = ""
	} else {
		x.Address = string(r.DecodeString())
	}
	for {
		yyj2492++
		if yyhl2492 {
			yyb2492 = yyj2492 > l
		} else {
			yyb2492 = r.CheckBreak()
		}
		if yyb2492 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2492-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ResourceName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2495 := z.EncBinary()
	_ = yym2495
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ResourceName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2496 := z.DecBinary()
	_ = yym2496
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ResourceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2497 := z.EncBinary()
		_ = yym2497
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			h.encResourceList((ResourceList)(x), e)
		}
	}
}

func (x *ResourceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2498 := z.DecBinary()
	_ = yym2498
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		h.decResourceList((*ResourceList)(x), d)
	}
}

func (x *Node) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2499 := z.EncBinary()
		_ = yym2499
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2500 := !z.EncBinary()
			yy2arr2500 := z.EncBasicHandle().StructToArray
			var yyq2500 [5]bool
			_, _, _ = yysep2500, yyq2500, yy2arr2500
			const yyr2500 bool = false
			yyq2500[0] = x.Kind != ""
			yyq2500[1] = x.APIVersion != ""
			yyq2500[2] = true
			yyq2500[3] = true
			yyq2500[4] = true
			var yynn2500 int
			if yyr2500 || yy2arr2500 {
				r.EncodeArrayStart(5)
			} else {
				yynn2500 = 0
				for _, b := range yyq2500 {
					if b {
						yynn2500++
					}
				}
				r.EncodeMapStart(yynn2500)
				yynn2500 = 0
			}
			if yyr2500 || yy2arr2500 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2500[0] {
					yym2502 := z.EncBinary()
					_ = yym2502
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2500[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2503 := z.EncBinary()
					_ = yym2503
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2500 || yy2arr2500 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2500[1] {
					yym2505 := z.EncBinary()
					_ = yym2505
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2500[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2506 := z.EncBinary()
					_ = yym2506
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2500 || yy2arr2500 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2500[2] {
					yy2508 := &x.ObjectMeta
					yy2508.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2500[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2509 := &x.ObjectMeta
					yy2509.CodecEncodeSelf(e)
				}
			}
			if yyr2500 || yy2arr2500 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2500[3] {
					yy2511 := &x.Spec
					yy2511.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2500[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2512 := &x.Spec
					yy2512.CodecEncodeSelf(e)
				}
			}
			if yyr2500 || yy2arr2500 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2500[4] {
					yy2514 := &x.Status
					yy2514.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2500[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2515 := &x.Status
					yy2515.CodecEncodeSelf(e)
				}
			}
			if yyr2500 || yy2arr2500 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2516 := z.DecBinary()
	_ = yym2516
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2517 := r.ContainerType()
		if yyct2517 == codecSelferValueTypeMap1234 {
			yyl2517 := r.ReadMapStart()
			if yyl2517 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2517, d)
			}
		} else if yyct2517 == codecSelferValueTypeArray1234 {
			yyl2517 := r.ReadArrayStart()
			if yyl2517 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2517, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Node) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2518Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2518Slc
	var yyhl2518 bool = l >= 0
	for yyj2518 := 0; ; yyj2518++ {
		if yyhl2518 {
			if yyj2518 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2518Slc = r.DecodeBytes(yys2518Slc, true, true)
		yys2518 := string(yys2518Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2518 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2521 := &x.ObjectMeta
				yyv2521.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NodeSpec{}
			} else {
				yyv2522 := &x.Spec
				yyv2522.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NodeStatus{}
			} else {
				yyv2523 := &x.Status
				yyv2523.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2518)
		} // end switch yys2518
	} // end for yyj2518
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2524 int
	var yyb2524 bool
	var yyhl2524 bool = l >= 0
	yyj2524++
	if yyhl2524 {
		yyb2524 = yyj2524 > l
	} else {
		yyb2524 = r.CheckBreak()
	}
	if yyb2524 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2524++
	if yyhl2524 {
		yyb2524 = yyj2524 > l
	} else {
		yyb2524 = r.CheckBreak()
	}
	if yyb2524 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2524++
	if yyhl2524 {
		yyb2524 = yyj2524 > l
	} else {
		yyb2524 = r.CheckBreak()
	}
	if yyb2524 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2527 := &x.ObjectMeta
		yyv2527.CodecDecodeSelf(d)
	}
	yyj2524++
	if yyhl2524 {
		yyb2524 = yyj2524 > l
	} else {
		yyb2524 = r.CheckBreak()
	}
	if yyb2524 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NodeSpec{}
	} else {
		yyv2528 := &x.Spec
		yyv2528.CodecDecodeSelf(d)
	}
	yyj2524++
	if yyhl2524 {
		yyb2524 = yyj2524 > l
	} else {
		yyb2524 = r.CheckBreak()
	}
	if yyb2524 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NodeStatus{}
	} else {
		yyv2529 := &x.Status
		yyv2529.CodecDecodeSelf(d)
	}
	for {
		yyj2524++
		if yyhl2524 {
			yyb2524 = yyj2524 > l
		} else {
			yyb2524 = r.CheckBreak()
		}
		if yyb2524 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2524-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2530 := z.EncBinary()
		_ = yym2530
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2531 := !z.EncBinary()
			yy2arr2531 := z.EncBasicHandle().StructToArray
			var yyq2531 [4]bool
			_, _, _ = yysep2531, yyq2531, yy2arr2531
			const yyr2531 bool = false
			yyq2531[0] = x.Kind != ""
			yyq2531[1] = x.APIVersion != ""
			yyq2531[2] = true
			var yynn2531 int
			if yyr2531 || yy2arr2531 {
				r.EncodeArrayStart(4)
			} else {
				yynn2531 = 1
				for _, b := range yyq2531 {
					if b {
						yynn2531++
					}
				}
				r.EncodeMapStart(yynn2531)
				yynn2531 = 0
			}
			if yyr2531 || yy2arr2531 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2531[0] {
					yym2533 := z.EncBinary()
					_ = yym2533
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2531[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2534 := z.EncBinary()
					_ = yym2534
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2531 || yy2arr2531 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2531[1] {
					yym2536 := z.EncBinary()
					_ = yym2536
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2531[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2537 := z.EncBinary()
					_ = yym2537
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2531 || yy2arr2531 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2531[2] {
					yy2539 := &x.ListMeta
					yym2540 := z.EncBinary()
					_ = yym2540
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2539) {
					} else {
						z.EncFallback(yy2539)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2531[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2541 := &x.ListMeta
					yym2542 := z.EncBinary()
					_ = yym2542
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2541) {
					} else {
						z.EncFallback(yy2541)
					}
				}
			}
			if yyr2531 || yy2arr2531 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2544 := z.EncBinary()
					_ = yym2544
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2545 := z.EncBinary()
					_ = yym2545
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			}
			if yyr2531 || yy2arr2531 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2546 := z.DecBinary()
	_ = yym2546
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2547 := r.ContainerType()
		if yyct2547 == codecSelferValueTypeMap1234 {
			yyl2547 := r.ReadMapStart()
			if yyl2547 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2547, d)
			}
		} else if yyct2547 == codecSelferValueTypeArray1234 {
			yyl2547 := r.ReadArrayStart()
			if yyl2547 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2547, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2548Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2548Slc
	var yyhl2548 bool = l >= 0
	for yyj2548 := 0; ; yyj2548++ {
		if yyhl2548 {
			if yyj2548 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2548Slc = r.DecodeBytes(yys2548Slc, true, true)
		yys2548 := string(yys2548Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2548 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2551 := &x.ListMeta
				yym2552 := z.DecBinary()
				_ = yym2552
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2551) {
				} else {
					z.DecFallback(yyv2551, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2553 := &x.Items
				yym2554 := z.DecBinary()
				_ = yym2554
				if false {
				} else {
					h.decSliceNode((*[]Node)(yyv2553), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2548)
		} // end switch yys2548
	} // end for yyj2548
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2555 int
	var yyb2555 bool
	var yyhl2555 bool = l >= 0
	yyj2555++
	if yyhl2555 {
		yyb2555 = yyj2555 > l
	} else {
		yyb2555 = r.CheckBreak()
	}
	if yyb2555 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2555++
	if yyhl2555 {
		yyb2555 = yyj2555 > l
	} else {
		yyb2555 = r.CheckBreak()
	}
	if yyb2555 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2555++
	if yyhl2555 {
		yyb2555 = yyj2555 > l
	} else {
		yyb2555 = r.CheckBreak()
	}
	if yyb2555 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2558 := &x.ListMeta
		yym2559 := z.DecBinary()
		_ = yym2559
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2558) {
		} else {
			z.DecFallback(yyv2558, false)
		}
	}
	yyj2555++
	if yyhl2555 {
		yyb2555 = yyj2555 > l
	} else {
		yyb2555 = r.CheckBreak()
	}
	if yyb2555 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2560 := &x.Items
		yym2561 := z.DecBinary()
		_ = yym2561
		if false {
		} else {
			h.decSliceNode((*[]Node)(yyv2560), d)
		}
	}
	for {
		yyj2555++
		if yyhl2555 {
			yyb2555 = yyj2555 > l
		} else {
			yyb2555 = r.CheckBreak()
		}
		if yyb2555 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2555-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x FinalizerName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2562 := z.EncBinary()
	_ = yym2562
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *FinalizerName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2563 := z.DecBinary()
	_ = yym2563
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NamespaceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2564 := z.EncBinary()
		_ = yym2564
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2565 := !z.EncBinary()
			yy2arr2565 := z.EncBasicHandle().StructToArray
			var yyq2565 [1]bool
			_, _, _ = yysep2565, yyq2565, yy2arr2565
			const yyr2565 bool = false
			yyq2565[0] = len(x.Finalizers) != 0
			var yynn2565 int
			if yyr2565 || yy2arr2565 {
				r.EncodeArrayStart(1)
			} else {
				yynn2565 = 0
				for _, b := range yyq2565 {
					if b {
						yynn2565++
					}
				}
				r.EncodeMapStart(yynn2565)
				yynn2565 = 0
			}
			if yyr2565 || yy2arr2565 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2565[0] {
					if x.Finalizers == nil {
						r.EncodeNil()
					} else {
						yym2567 := z.EncBinary()
						_ = yym2567
						if false {
						} else {
							h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2565[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("finalizers"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Finalizers == nil {
						r.EncodeNil()
					} else {
						yym2568 := z.EncBinary()
						_ = yym2568
						if false {
						} else {
							h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
						}
					}
				}
			}
			if yyr2565 || yy2arr2565 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2569 := z.DecBinary()
	_ = yym2569
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2570 := r.ContainerType()
		if yyct2570 == codecSelferValueTypeMap1234 {
			yyl2570 := r.ReadMapStart()
			if yyl2570 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2570, d)
			}
		} else if yyct2570 == codecSelferValueTypeArray1234 {
			yyl2570 := r.ReadArrayStart()
			if yyl2570 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2570, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2571Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2571Slc
	var yyhl2571 bool = l >= 0
	for yyj2571 := 0; ; yyj2571++ {
		if yyhl2571 {
			if yyj2571 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2571Slc = r.DecodeBytes(yys2571Slc, true, true)
		yys2571 := string(yys2571Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2571 {
		case "finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv2572 := &x.Finalizers
				yym2573 := z.DecBinary()
				_ = yym2573
				if false {
				} else {
					h.decSliceFinalizerName((*[]FinalizerName)(yyv2572), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2571)
		} // end switch yys2571
	} // end for yyj2571
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2574 int
	var yyb2574 bool
	var yyhl2574 bool = l >= 0
	yyj2574++
	if yyhl2574 {
		yyb2574 = yyj2574 > l
	} else {
		yyb2574 = r.CheckBreak()
	}
	if yyb2574 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv2575 := &x.Finalizers
		yym2576 := z.DecBinary()
		_ = yym2576
		if false {
		} else {
			h.decSliceFinalizerName((*[]FinalizerName)(yyv2575), d)
		}
	}
	for {
		yyj2574++
		if yyhl2574 {
			yyb2574 = yyj2574 > l
		} else {
			yyb2574 = r.CheckBreak()
		}
		if yyb2574 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2574-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NamespaceStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2577 := z.EncBinary()
		_ = yym2577
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2578 := !z.EncBinary()
			yy2arr2578 := z.EncBasicHandle().StructToArray
			var yyq2578 [1]bool
			_, _, _ = yysep2578, yyq2578, yy2arr2578
			const yyr2578 bool = false
			yyq2578[0] = x.Phase != ""
			var yynn2578 int
			if yyr2578 || yy2arr2578 {
				r.EncodeArrayStart(1)
			} else {
				yynn2578 = 0
				for _, b := range yyq2578 {
					if b {
						yynn2578++
					}
				}
				r.EncodeMapStart(yynn2578)
				yynn2578 = 0
			}
			if yyr2578 || yy2arr2578 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2578[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2578[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2578 || yy2arr2578 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2580 := z.DecBinary()
	_ = yym2580
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2581 := r.ContainerType()
		if yyct2581 == codecSelferValueTypeMap1234 {
			yyl2581 := r.ReadMapStart()
			if yyl2581 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2581, d)
			}
		} else if yyct2581 == codecSelferValueTypeArray1234 {
			yyl2581 := r.ReadArrayStart()
			if yyl2581 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2581, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2582Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2582Slc
	var yyhl2582 bool = l >= 0
	for yyj2582 := 0; ; yyj2582++ {
		if yyhl2582 {
			if yyj2582 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2582Slc = r.DecodeBytes(yys2582Slc, true, true)
		yys2582 := string(yys2582Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2582 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NamespacePhase(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2582)
		} // end switch yys2582
	} // end for yyj2582
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2584 int
	var yyb2584 bool
	var yyhl2584 bool = l >= 0
	yyj2584++
	if yyhl2584 {
		yyb2584 = yyj2584 > l
	} else {
		yyb2584 = r.CheckBreak()
	}
	if yyb2584 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NamespacePhase(r.DecodeString())
	}
	for {
		yyj2584++
		if yyhl2584 {
			yyb2584 = yyj2584 > l
		} else {
			yyb2584 = r.CheckBreak()
		}
		if yyb2584 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2584-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NamespacePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2586 := z.EncBinary()
	_ = yym2586
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NamespacePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2587 := z.DecBinary()
	_ = yym2587
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Namespace) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2588 := z.EncBinary()
		_ = yym2588
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2589 := !z.EncBinary()
			yy2arr2589 := z.EncBasicHandle().StructToArray
			var yyq2589 [5]bool
			_, _, _ = yysep2589, yyq2589, yy2arr2589
			const yyr2589 bool = false
			yyq2589[0] = x.Kind != ""
			yyq2589[1] = x.APIVersion != ""
			yyq2589[2] = true
			yyq2589[3] = true
			yyq2589[4] = true
			var yynn2589 int
			if yyr2589 || yy2arr2589 {
				r.EncodeArrayStart(5)
			} else {
				yynn2589 = 0
				for _, b := range yyq2589 {
					if b {
						yynn2589++
					}
				}
				r.EncodeMapStart(yynn2589)
				yynn2589 = 0
			}
			if yyr2589 || yy2arr2589 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2589[0] {
					yym2591 := z.EncBinary()
					_ = yym2591
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2589[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2592 := z.EncBinary()
					_ = yym2592
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2589 || yy2arr2589 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2589[1] {
					yym2594 := z.EncBinary()
					_ = yym2594
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2589[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2595 := z.EncBinary()
					_ = yym2595
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2589 || yy2arr2589 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2589[2] {
					yy2597 := &x.ObjectMeta
					yy2597.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2589[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2598 := &x.ObjectMeta
					yy2598.CodecEncodeSelf(e)
				}
			}
			if yyr2589 || yy2arr2589 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2589[3] {
					yy2600 := &x.Spec
					yy2600.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2589[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2601 := &x.Spec
					yy2601.CodecEncodeSelf(e)
				}
			}
			if yyr2589 || yy2arr2589 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2589[4] {
					yy2603 := &x.Status
					yy2603.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2589[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2604 := &x.Status
					yy2604.CodecEncodeSelf(e)
				}
			}
			if yyr2589 || yy2arr2589 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Namespace) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2605 := z.DecBinary()
	_ = yym2605
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2606 := r.ContainerType()
		if yyct2606 == codecSelferValueTypeMap1234 {
			yyl2606 := r.ReadMapStart()
			if yyl2606 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2606, d)
			}
		} else if yyct2606 == codecSelferValueTypeArray1234 {
			yyl2606 := r.ReadArrayStart()
			if yyl2606 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2606, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Namespace) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2607Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2607Slc
	var yyhl2607 bool = l >= 0
	for yyj2607 := 0; ; yyj2607++ {
		if yyhl2607 {
			if yyj2607 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2607Slc = r.DecodeBytes(yys2607Slc, true, true)
		yys2607 := string(yys2607Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2607 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2610 := &x.ObjectMeta
				yyv2610.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NamespaceSpec{}
			} else {
				yyv2611 := &x.Spec
				yyv2611.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NamespaceStatus{}
			} else {
				yyv2612 := &x.Status
				yyv2612.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2607)
		} // end switch yys2607
	} // end for yyj2607
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Namespace) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2613 int
	var yyb2613 bool
	var yyhl2613 bool = l >= 0
	yyj2613++
	if yyhl2613 {
		yyb2613 = yyj2613 > l
	} else {
		yyb2613 = r.CheckBreak()
	}
	if yyb2613 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2613++
	if yyhl2613 {
		yyb2613 = yyj2613 > l
	} else {
		yyb2613 = r.CheckBreak()
	}
	if yyb2613 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2613++
	if yyhl2613 {
		yyb2613 = yyj2613 > l
	} else {
		yyb2613 = r.CheckBreak()
	}
	if yyb2613 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2616 := &x.ObjectMeta
		yyv2616.CodecDecodeSelf(d)
	}
	yyj2613++
	if yyhl2613 {
		yyb2613 = yyj2613 > l
	} else {
		yyb2613 = r.CheckBreak()
	}
	if yyb2613 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NamespaceSpec{}
	} else {
		yyv2617 := &x.Spec
		yyv2617.CodecDecodeSelf(d)
	}
	yyj2613++
	if yyhl2613 {
		yyb2613 = yyj2613 > l
	} else {
		yyb2613 = r.CheckBreak()
	}
	if yyb2613 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NamespaceStatus{}
	} else {
		yyv2618 := &x.Status
		yyv2618.CodecDecodeSelf(d)
	}
	for {
		yyj2613++
		if yyhl2613 {
			yyb2613 = yyj2613 > l
		} else {
			yyb2613 = r.CheckBreak()
		}
		if yyb2613 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2613-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NamespaceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2619 := z.EncBinary()
		_ = yym2619
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2620 := !z.EncBinary()
			yy2arr2620 := z.EncBasicHandle().StructToArray
			var yyq2620 [4]bool
			_, _, _ = yysep2620, yyq2620, yy2arr2620
			const yyr2620 bool = false
			yyq2620[0] = x.Kind != ""
			yyq2620[1] = x.APIVersion != ""
			yyq2620[2] = true
			var yynn2620 int
			if yyr2620 || yy2arr2620 {
				r.EncodeArrayStart(4)
			} else {
				yynn2620 = 1
				for _, b := range yyq2620 {
					if b {
						yynn2620++
					}
				}
				r.EncodeMapStart(yynn2620)
				yynn2620 = 0
			}
			if yyr2620 || yy2arr2620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2620[0] {
					yym2622 := z.EncBinary()
					_ = yym2622
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2620[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2623 := z.EncBinary()
					_ = yym2623
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2620 || yy2arr2620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2620[1] {
					yym2625 := z.EncBinary()
					_ = yym2625
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2620[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2626 := z.EncBinary()
					_ = yym2626
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2620 || yy2arr2620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2620[2] {
					yy2628 := &x.ListMeta
					yym2629 := z.EncBinary()
					_ = yym2629
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2628) {
					} else {
						z.EncFallback(yy2628)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2620[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2630 := &x.ListMeta
					yym2631 := z.EncBinary()
					_ = yym2631
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2630) {
					} else {
						z.EncFallback(yy2630)
					}
				}
			}
			if yyr2620 || yy2arr2620 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2633 := z.EncBinary()
					_ = yym2633
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2634 := z.EncBinary()
					_ = yym2634
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			}
			if yyr2620 || yy2arr2620 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2635 := z.DecBinary()
	_ = yym2635
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2636 := r.ContainerType()
		if yyct2636 == codecSelferValueTypeMap1234 {
			yyl2636 := r.ReadMapStart()
			if yyl2636 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2636, d)
			}
		} else if yyct2636 == codecSelferValueTypeArray1234 {
			yyl2636 := r.ReadArrayStart()
			if yyl2636 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2636, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2637Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2637Slc
	var yyhl2637 bool = l >= 0
	for yyj2637 := 0; ; yyj2637++ {
		if yyhl2637 {
			if yyj2637 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2637Slc = r.DecodeBytes(yys2637Slc, true, true)
		yys2637 := string(yys2637Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2637 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2640 := &x.ListMeta
				yym2641 := z.DecBinary()
				_ = yym2641
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2640) {
				} else {
					z.DecFallback(yyv2640, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2642 := &x.Items
				yym2643 := z.DecBinary()
				_ = yym2643
				if false {
				} else {
					h.decSliceNamespace((*[]Namespace)(yyv2642), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2637)
		} // end switch yys2637
	} // end for yyj2637
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2644 int
	var yyb2644 bool
	var yyhl2644 bool = l >= 0
	yyj2644++
	if yyhl2644 {
		yyb2644 = yyj2644 > l
	} else {
		yyb2644 = r.CheckBreak()
	}
	if yyb2644 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2644++
	if yyhl2644 {
		yyb2644 = yyj2644 > l
	} else {
		yyb2644 = r.CheckBreak()
	}
	if yyb2644 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2644++
	if yyhl2644 {
		yyb2644 = yyj2644 > l
	} else {
		yyb2644 = r.CheckBreak()
	}
	if yyb2644 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2647 := &x.ListMeta
		yym2648 := z.DecBinary()
		_ = yym2648
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2647) {
		} else {
			z.DecFallback(yyv2647, false)
		}
	}
	yyj2644++
	if yyhl2644 {
		yyb2644 = yyj2644 > l
	} else {
		yyb2644 = r.CheckBreak()
	}
	if yyb2644 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2649 := &x.Items
		yym2650 := z.DecBinary()
		_ = yym2650
		if false {
		} else {
			h.decSliceNamespace((*[]Namespace)(yyv2649), d)
		}
	}
	for {
		yyj2644++
		if yyhl2644 {
			yyb2644 = yyj2644 > l
		} else {
			yyb2644 = r.CheckBreak()
		}
		if yyb2644 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2644-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Binding) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2651 := z.EncBinary()
		_ = yym2651
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2652 := !z.EncBinary()
			yy2arr2652 := z.EncBasicHandle().StructToArray
			var yyq2652 [4]bool
			_, _, _ = yysep2652, yyq2652, yy2arr2652
			const yyr2652 bool = false
			yyq2652[0] = x.Kind != ""
			yyq2652[1] = x.APIVersion != ""
			yyq2652[2] = true
			var yynn2652 int
			if yyr2652 || yy2arr2652 {
				r.EncodeArrayStart(4)
			} else {
				yynn2652 = 1
				for _, b := range yyq2652 {
					if b {
						yynn2652++
					}
				}
				r.EncodeMapStart(yynn2652)
				yynn2652 = 0
			}
			if yyr2652 || yy2arr2652 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2652[0] {
					yym2654 := z.EncBinary()
					_ = yym2654
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2652[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2655 := z.EncBinary()
					_ = yym2655
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2652 || yy2arr2652 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2652[1] {
					yym2657 := z.EncBinary()
					_ = yym2657
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2652[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2658 := z.EncBinary()
					_ = yym2658
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2652 || yy2arr2652 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2652[2] {
					yy2660 := &x.ObjectMeta
					yy2660.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2652[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2661 := &x.ObjectMeta
					yy2661.CodecEncodeSelf(e)
				}
			}
			if yyr2652 || yy2arr2652 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2663 := &x.Target
				yy2663.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("target"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2664 := &x.Target
				yy2664.CodecEncodeSelf(e)
			}
			if yyr2652 || yy2arr2652 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Binding) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2665 := z.DecBinary()
	_ = yym2665
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2666 := r.ContainerType()
		if yyct2666 == codecSelferValueTypeMap1234 {
			yyl2666 := r.ReadMapStart()
			if yyl2666 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2666, d)
			}
		} else if yyct2666 == codecSelferValueTypeArray1234 {
			yyl2666 := r.ReadArrayStart()
			if yyl2666 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2666, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Binding) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2667Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2667Slc
	var yyhl2667 bool = l >= 0
	for yyj2667 := 0; ; yyj2667++ {
		if yyhl2667 {
			if yyj2667 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2667Slc = r.DecodeBytes(yys2667Slc, true, true)
		yys2667 := string(yys2667Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2667 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2670 := &x.ObjectMeta
				yyv2670.CodecDecodeSelf(d)
			}
		case "target":
			if r.TryDecodeAsNil() {
				x.Target = ObjectReference{}
			} else {
				yyv2671 := &x.Target
				yyv2671.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2667)
		} // end switch yys2667
	} // end for yyj2667
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Binding) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2672 int
	var yyb2672 bool
	var yyhl2672 bool = l >= 0
	yyj2672++
	if yyhl2672 {
		yyb2672 = yyj2672 > l
	} else {
		yyb2672 = r.CheckBreak()
	}
	if yyb2672 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2672++
	if yyhl2672 {
		yyb2672 = yyj2672 > l
	} else {
		yyb2672 = r.CheckBreak()
	}
	if yyb2672 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2672++
	if yyhl2672 {
		yyb2672 = yyj2672 > l
	} else {
		yyb2672 = r.CheckBreak()
	}
	if yyb2672 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2675 := &x.ObjectMeta
		yyv2675.CodecDecodeSelf(d)
	}
	yyj2672++
	if yyhl2672 {
		yyb2672 = yyj2672 > l
	} else {
		yyb2672 = r.CheckBreak()
	}
	if yyb2672 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Target = ObjectReference{}
	} else {
		yyv2676 := &x.Target
		yyv2676.CodecDecodeSelf(d)
	}
	for {
		yyj2672++
		if yyhl2672 {
			yyb2672 = yyj2672 > l
		} else {
			yyb2672 = r.CheckBreak()
		}
		if yyb2672 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2672-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DeleteOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2677 := z.EncBinary()
		_ = yym2677
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2678 := !z.EncBinary()
			yy2arr2678 := z.EncBasicHandle().StructToArray
			var yyq2678 [3]bool
			_, _, _ = yysep2678, yyq2678, yy2arr2678
			const yyr2678 bool = false
			yyq2678[0] = x.Kind != ""
			yyq2678[1] = x.APIVersion != ""
			var yynn2678 int
			if yyr2678 || yy2arr2678 {
				r.EncodeArrayStart(3)
			} else {
				yynn2678 = 1
				for _, b := range yyq2678 {
					if b {
						yynn2678++
					}
				}
				r.EncodeMapStart(yynn2678)
				yynn2678 = 0
			}
			if yyr2678 || yy2arr2678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2678[0] {
					yym2680 := z.EncBinary()
					_ = yym2680
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2678[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2681 := z.EncBinary()
					_ = yym2681
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2678 || yy2arr2678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2678[1] {
					yym2683 := z.EncBinary()
					_ = yym2683
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2678[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2684 := z.EncBinary()
					_ = yym2684
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2678 || yy2arr2678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.GracePeriodSeconds == nil {
					r.EncodeNil()
				} else {
					yy2686 := *x.GracePeriodSeconds
					yym2687 := z.EncBinary()
					_ = yym2687
					if false {
					} else {
						r.EncodeInt(int64(yy2686))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("gracePeriodSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.GracePeriodSeconds == nil {
					r.EncodeNil()
				} else {
					yy2688 := *x.GracePeriodSeconds
					yym2689 := z.EncBinary()
					_ = yym2689
					if false {
					} else {
						r.EncodeInt(int64(yy2688))
					}
				}
			}
			if yyr2678 || yy2arr2678 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DeleteOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2690 := z.DecBinary()
	_ = yym2690
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2691 := r.ContainerType()
		if yyct2691 == codecSelferValueTypeMap1234 {
			yyl2691 := r.ReadMapStart()
			if yyl2691 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2691, d)
			}
		} else if yyct2691 == codecSelferValueTypeArray1234 {
			yyl2691 := r.ReadArrayStart()
			if yyl2691 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2691, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DeleteOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2692Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2692Slc
	var yyhl2692 bool = l >= 0
	for yyj2692 := 0; ; yyj2692++ {
		if yyhl2692 {
			if yyj2692 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2692Slc = r.DecodeBytes(yys2692Slc, true, true)
		yys2692 := string(yys2692Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2692 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "gracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.GracePeriodSeconds != nil {
					x.GracePeriodSeconds = nil
				}
			} else {
				if x.GracePeriodSeconds == nil {
					x.GracePeriodSeconds = new(int64)
				}
				yym2696 := z.DecBinary()
				_ = yym2696
				if false {
				} else {
					*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2692)
		} // end switch yys2692
	} // end for yyj2692
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DeleteOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2697 int
	var yyb2697 bool
	var yyhl2697 bool = l >= 0
	yyj2697++
	if yyhl2697 {
		yyb2697 = yyj2697 > l
	} else {
		yyb2697 = r.CheckBreak()
	}
	if yyb2697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2697++
	if yyhl2697 {
		yyb2697 = yyj2697 > l
	} else {
		yyb2697 = r.CheckBreak()
	}
	if yyb2697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2697++
	if yyhl2697 {
		yyb2697 = yyj2697 > l
	} else {
		yyb2697 = r.CheckBreak()
	}
	if yyb2697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GracePeriodSeconds != nil {
			x.GracePeriodSeconds = nil
		}
	} else {
		if x.GracePeriodSeconds == nil {
			x.GracePeriodSeconds = new(int64)
		}
		yym2701 := z.DecBinary()
		_ = yym2701
		if false {
		} else {
			*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2697++
		if yyhl2697 {
			yyb2697 = yyj2697 > l
		} else {
			yyb2697 = r.CheckBreak()
		}
		if yyb2697 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2697-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ExportOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2702 := z.EncBinary()
		_ = yym2702
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2703 := !z.EncBinary()
			yy2arr2703 := z.EncBasicHandle().StructToArray
			var yyq2703 [4]bool
			_, _, _ = yysep2703, yyq2703, yy2arr2703
			const yyr2703 bool = false
			yyq2703[0] = x.Kind != ""
			yyq2703[1] = x.APIVersion != ""
			var yynn2703 int
			if yyr2703 || yy2arr2703 {
				r.EncodeArrayStart(4)
			} else {
				yynn2703 = 2
				for _, b := range yyq2703 {
					if b {
						yynn2703++
					}
				}
				r.EncodeMapStart(yynn2703)
				yynn2703 = 0
			}
			if yyr2703 || yy2arr2703 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2703[0] {
					yym2705 := z.EncBinary()
					_ = yym2705
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2703[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2706 := z.EncBinary()
					_ = yym2706
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2703 || yy2arr2703 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2703[1] {
					yym2708 := z.EncBinary()
					_ = yym2708
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2703[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2709 := z.EncBinary()
					_ = yym2709
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2703 || yy2arr2703 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2711 := z.EncBinary()
				_ = yym2711
				if false {
				} else {
					r.EncodeBool(bool(x.Export))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("export"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2712 := z.EncBinary()
				_ = yym2712
				if false {
				} else {
					r.EncodeBool(bool(x.Export))
				}
			}
			if yyr2703 || yy2arr2703 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2714 := z.EncBinary()
				_ = yym2714
				if false {
				} else {
					r.EncodeBool(bool(x.Exact))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exact"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2715 := z.EncBinary()
				_ = yym2715
				if false {
				} else {
					r.EncodeBool(bool(x.Exact))
				}
			}
			if yyr2703 || yy2arr2703 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ExportOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2716 := z.DecBinary()
	_ = yym2716
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2717 := r.ContainerType()
		if yyct2717 == codecSelferValueTypeMap1234 {
			yyl2717 := r.ReadMapStart()
			if yyl2717 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2717, d)
			}
		} else if yyct2717 == codecSelferValueTypeArray1234 {
			yyl2717 := r.ReadArrayStart()
			if yyl2717 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2717, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ExportOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2718Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2718Slc
	var yyhl2718 bool = l >= 0
	for yyj2718 := 0; ; yyj2718++ {
		if yyhl2718 {
			if yyj2718 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2718Slc = r.DecodeBytes(yys2718Slc, true, true)
		yys2718 := string(yys2718Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2718 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "export":
			if r.TryDecodeAsNil() {
				x.Export = false
			} else {
				x.Export = bool(r.DecodeBool())
			}
		case "exact":
			if r.TryDecodeAsNil() {
				x.Exact = false
			} else {
				x.Exact = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2718)
		} // end switch yys2718
	} // end for yyj2718
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ExportOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2723 int
	var yyb2723 bool
	var yyhl2723 bool = l >= 0
	yyj2723++
	if yyhl2723 {
		yyb2723 = yyj2723 > l
	} else {
		yyb2723 = r.CheckBreak()
	}
	if yyb2723 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2723++
	if yyhl2723 {
		yyb2723 = yyj2723 > l
	} else {
		yyb2723 = r.CheckBreak()
	}
	if yyb2723 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2723++
	if yyhl2723 {
		yyb2723 = yyj2723 > l
	} else {
		yyb2723 = r.CheckBreak()
	}
	if yyb2723 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Export = false
	} else {
		x.Export = bool(r.DecodeBool())
	}
	yyj2723++
	if yyhl2723 {
		yyb2723 = yyj2723 > l
	} else {
		yyb2723 = r.CheckBreak()
	}
	if yyb2723 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Exact = false
	} else {
		x.Exact = bool(r.DecodeBool())
	}
	for {
		yyj2723++
		if yyhl2723 {
			yyb2723 = yyj2723 > l
		} else {
			yyb2723 = r.CheckBreak()
		}
		if yyb2723 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2723-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ListOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2728 := z.EncBinary()
		_ = yym2728
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2729 := !z.EncBinary()
			yy2arr2729 := z.EncBasicHandle().StructToArray
			var yyq2729 [7]bool
			_, _, _ = yysep2729, yyq2729, yy2arr2729
			const yyr2729 bool = false
			yyq2729[0] = x.Kind != ""
			yyq2729[1] = x.APIVersion != ""
			yyq2729[2] = x.LabelSelector != ""
			yyq2729[3] = x.FieldSelector != ""
			yyq2729[4] = x.Watch != false
			yyq2729[5] = x.ResourceVersion != ""
			yyq2729[6] = x.TimeoutSeconds != nil
			var yynn2729 int
			if yyr2729 || yy2arr2729 {
				r.EncodeArrayStart(7)
			} else {
				yynn2729 = 0
				for _, b := range yyq2729 {
					if b {
						yynn2729++
					}
				}
				r.EncodeMapStart(yynn2729)
				yynn2729 = 0
			}
			if yyr2729 || yy2arr2729 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2729[0] {
					yym2731 := z.EncBinary()
					_ = yym2731
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2729[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2732 := z.EncBinary()
					_ = yym2732
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2729 || yy2arr2729 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2729[1] {
					yym2734 := z.EncBinary()
					_ = yym2734
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2729[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2735 := z.EncBinary()
					_ = yym2735
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2729 || yy2arr2729 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2729[2] {
					yym2737 := z.EncBinary()
					_ = yym2737
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LabelSelector))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2729[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("labelSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2738 := z.EncBinary()
					_ = yym2738
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LabelSelector))
					}
				}
			}
			if yyr2729 || yy2arr2729 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2729[3] {
					yym2740 := z.EncBinary()
					_ = yym2740
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldSelector))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2729[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2741 := z.EncBinary()
					_ = yym2741
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldSelector))
					}
				}
			}
			if yyr2729 || yy2arr2729 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2729[4] {
					yym2743 := z.EncBinary()
					_ = yym2743
					if false {
					} else {
						r.EncodeBool(bool(x.Watch))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2729[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("watch"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2744 := z.EncBinary()
					_ = yym2744
					if false {
					} else {
						r.EncodeBool(bool(x.Watch))
					}
				}
			}
			if yyr2729 || yy2arr2729 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2729[5] {
					yym2746 := z.EncBinary()
					_ = yym2746
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2729[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2747 := z.EncBinary()
					_ = yym2747
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2729 || yy2arr2729 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2729[6] {
					if x.TimeoutSeconds == nil {
						r.EncodeNil()
					} else {
						yy2749 := *x.TimeoutSeconds
						yym2750 := z.EncBinary()
						_ = yym2750
						if false {
						} else {
							r.EncodeInt(int64(yy2749))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2729[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TimeoutSeconds == nil {
						r.EncodeNil()
					} else {
						yy2751 := *x.TimeoutSeconds
						yym2752 := z.EncBinary()
						_ = yym2752
						if false {
						} else {
							r.EncodeInt(int64(yy2751))
						}
					}
				}
			}
			if yyr2729 || yy2arr2729 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ListOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2753 := z.DecBinary()
	_ = yym2753
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2754 := r.ContainerType()
		if yyct2754 == codecSelferValueTypeMap1234 {
			yyl2754 := r.ReadMapStart()
			if yyl2754 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2754, d)
			}
		} else if yyct2754 == codecSelferValueTypeArray1234 {
			yyl2754 := r.ReadArrayStart()
			if yyl2754 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2754, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ListOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2755Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2755Slc
	var yyhl2755 bool = l >= 0
	for yyj2755 := 0; ; yyj2755++ {
		if yyhl2755 {
			if yyj2755 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2755Slc = r.DecodeBytes(yys2755Slc, true, true)
		yys2755 := string(yys2755Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2755 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "labelSelector":
			if r.TryDecodeAsNil() {
				x.LabelSelector = ""
			} else {
				x.LabelSelector = string(r.DecodeString())
			}
		case "fieldSelector":
			if r.TryDecodeAsNil() {
				x.FieldSelector = ""
			} else {
				x.FieldSelector = string(r.DecodeString())
			}
		case "watch":
			if r.TryDecodeAsNil() {
				x.Watch = false
			} else {
				x.Watch = bool(r.DecodeBool())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "timeoutSeconds":
			if r.TryDecodeAsNil() {
				if x.TimeoutSeconds != nil {
					x.TimeoutSeconds = nil
				}
			} else {
				if x.TimeoutSeconds == nil {
					x.TimeoutSeconds = new(int64)
				}
				yym2763 := z.DecBinary()
				_ = yym2763
				if false {
				} else {
					*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2755)
		} // end switch yys2755
	} // end for yyj2755
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ListOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2764 int
	var yyb2764 bool
	var yyhl2764 bool = l >= 0
	yyj2764++
	if yyhl2764 {
		yyb2764 = yyj2764 > l
	} else {
		yyb2764 = r.CheckBreak()
	}
	if yyb2764 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2764++
	if yyhl2764 {
		yyb2764 = yyj2764 > l
	} else {
		yyb2764 = r.CheckBreak()
	}
	if yyb2764 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2764++
	if yyhl2764 {
		yyb2764 = yyj2764 > l
	} else {
		yyb2764 = r.CheckBreak()
	}
	if yyb2764 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LabelSelector = ""
	} else {
		x.LabelSelector = string(r.DecodeString())
	}
	yyj2764++
	if yyhl2764 {
		yyb2764 = yyj2764 > l
	} else {
		yyb2764 = r.CheckBreak()
	}
	if yyb2764 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldSelector = ""
	} else {
		x.FieldSelector = string(r.DecodeString())
	}
	yyj2764++
	if yyhl2764 {
		yyb2764 = yyj2764 > l
	} else {
		yyb2764 = r.CheckBreak()
	}
	if yyb2764 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Watch = false
	} else {
		x.Watch = bool(r.DecodeBool())
	}
	yyj2764++
	if yyhl2764 {
		yyb2764 = yyj2764 > l
	} else {
		yyb2764 = r.CheckBreak()
	}
	if yyb2764 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj2764++
	if yyhl2764 {
		yyb2764 = yyj2764 > l
	} else {
		yyb2764 = r.CheckBreak()
	}
	if yyb2764 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TimeoutSeconds != nil {
			x.TimeoutSeconds = nil
		}
	} else {
		if x.TimeoutSeconds == nil {
			x.TimeoutSeconds = new(int64)
		}
		yym2772 := z.DecBinary()
		_ = yym2772
		if false {
		} else {
			*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2764++
		if yyhl2764 {
			yyb2764 = yyj2764 > l
		} else {
			yyb2764 = r.CheckBreak()
		}
		if yyb2764 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2764-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodLogOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2773 := z.EncBinary()
		_ = yym2773
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2774 := !z.EncBinary()
			yy2arr2774 := z.EncBasicHandle().StructToArray
			var yyq2774 [10]bool
			_, _, _ = yysep2774, yyq2774, yy2arr2774
			const yyr2774 bool = false
			yyq2774[0] = x.Kind != ""
			yyq2774[1] = x.APIVersion != ""
			yyq2774[2] = x.Container != ""
			yyq2774[3] = x.Follow != false
			yyq2774[4] = x.Previous != false
			yyq2774[5] = x.SinceSeconds != nil
			yyq2774[6] = x.SinceTime != nil
			yyq2774[7] = x.Timestamps != false
			yyq2774[8] = x.TailLines != nil
			yyq2774[9] = x.LimitBytes != nil
			var yynn2774 int
			if yyr2774 || yy2arr2774 {
				r.EncodeArrayStart(10)
			} else {
				yynn2774 = 0
				for _, b := range yyq2774 {
					if b {
						yynn2774++
					}
				}
				r.EncodeMapStart(yynn2774)
				yynn2774 = 0
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[0] {
					yym2776 := z.EncBinary()
					_ = yym2776
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2774[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2777 := z.EncBinary()
					_ = yym2777
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[1] {
					yym2779 := z.EncBinary()
					_ = yym2779
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2774[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2780 := z.EncBinary()
					_ = yym2780
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[2] {
					yym2782 := z.EncBinary()
					_ = yym2782
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2774[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2783 := z.EncBinary()
					_ = yym2783
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[3] {
					yym2785 := z.EncBinary()
					_ = yym2785
					if false {
					} else {
						r.EncodeBool(bool(x.Follow))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2774[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("follow"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2786 := z.EncBinary()
					_ = yym2786
					if false {
					} else {
						r.EncodeBool(bool(x.Follow))
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[4] {
					yym2788 := z.EncBinary()
					_ = yym2788
					if false {
					} else {
						r.EncodeBool(bool(x.Previous))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2774[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("previous"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2789 := z.EncBinary()
					_ = yym2789
					if false {
					} else {
						r.EncodeBool(bool(x.Previous))
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[5] {
					if x.SinceSeconds == nil {
						r.EncodeNil()
					} else {
						yy2791 := *x.SinceSeconds
						yym2792 := z.EncBinary()
						_ = yym2792
						if false {
						} else {
							r.EncodeInt(int64(yy2791))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2774[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sinceSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SinceSeconds == nil {
						r.EncodeNil()
					} else {
						yy2793 := *x.SinceSeconds
						yym2794 := z.EncBinary()
						_ = yym2794
						if false {
						} else {
							r.EncodeInt(int64(yy2793))
						}
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[6] {
					if x.SinceTime == nil {
						r.EncodeNil()
					} else {
						yym2796 := z.EncBinary()
						_ = yym2796
						if false {
						} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
						} else if yym2796 {
							z.EncBinaryMarshal(x.SinceTime)
						} else if !yym2796 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.SinceTime)
						} else {
							z.EncFallback(x.SinceTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2774[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sinceTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SinceTime == nil {
						r.EncodeNil()
					} else {
						yym2797 := z.EncBinary()
						_ = yym2797
						if false {
						} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
						} else if yym2797 {
							z.EncBinaryMarshal(x.SinceTime)
						} else if !yym2797 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.SinceTime)
						} else {
							z.EncFallback(x.SinceTime)
						}
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[7] {
					yym2799 := z.EncBinary()
					_ = yym2799
					if false {
					} else {
						r.EncodeBool(bool(x.Timestamps))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2774[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("timestamps"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2800 := z.EncBinary()
					_ = yym2800
					if false {
					} else {
						r.EncodeBool(bool(x.Timestamps))
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[8] {
					if x.TailLines == nil {
						r.EncodeNil()
					} else {
						yy2802 := *x.TailLines
						yym2803 := z.EncBinary()
						_ = yym2803
						if false {
						} else {
							r.EncodeInt(int64(yy2802))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2774[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tailLines"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TailLines == nil {
						r.EncodeNil()
					} else {
						yy2804 := *x.TailLines
						yym2805 := z.EncBinary()
						_ = yym2805
						if false {
						} else {
							r.EncodeInt(int64(yy2804))
						}
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2774[9] {
					if x.LimitBytes == nil {
						r.EncodeNil()
					} else {
						yy2807 := *x.LimitBytes
						yym2808 := z.EncBinary()
						_ = yym2808
						if false {
						} else {
							r.EncodeInt(int64(yy2807))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2774[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("limitBytes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LimitBytes == nil {
						r.EncodeNil()
					} else {
						yy2809 := *x.LimitBytes
						yym2810 := z.EncBinary()
						_ = yym2810
						if false {
						} else {
							r.EncodeInt(int64(yy2809))
						}
					}
				}
			}
			if yyr2774 || yy2arr2774 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodLogOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2811 := z.DecBinary()
	_ = yym2811
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2812 := r.ContainerType()
		if yyct2812 == codecSelferValueTypeMap1234 {
			yyl2812 := r.ReadMapStart()
			if yyl2812 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2812, d)
			}
		} else if yyct2812 == codecSelferValueTypeArray1234 {
			yyl2812 := r.ReadArrayStart()
			if yyl2812 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2812, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodLogOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2813Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2813Slc
	var yyhl2813 bool = l >= 0
	for yyj2813 := 0; ; yyj2813++ {
		if yyhl2813 {
			if yyj2813 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2813Slc = r.DecodeBytes(yys2813Slc, true, true)
		yys2813 := string(yys2813Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2813 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		case "follow":
			if r.TryDecodeAsNil() {
				x.Follow = false
			} else {
				x.Follow = bool(r.DecodeBool())
			}
		case "previous":
			if r.TryDecodeAsNil() {
				x.Previous = false
			} else {
				x.Previous = bool(r.DecodeBool())
			}
		case "sinceSeconds":
			if r.TryDecodeAsNil() {
				if x.SinceSeconds != nil {
					x.SinceSeconds = nil
				}
			} else {
				if x.SinceSeconds == nil {
					x.SinceSeconds = new(int64)
				}
				yym2820 := z.DecBinary()
				_ = yym2820
				if false {
				} else {
					*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "sinceTime":
			if r.TryDecodeAsNil() {
				if x.SinceTime != nil {
					x.SinceTime = nil
				}
			} else {
				if x.SinceTime == nil {
					x.SinceTime = new(pkg2_unversioned.Time)
				}
				yym2822 := z.DecBinary()
				_ = yym2822
				if false {
				} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
				} else if yym2822 {
					z.DecBinaryUnmarshal(x.SinceTime)
				} else if !yym2822 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.SinceTime)
				} else {
					z.DecFallback(x.SinceTime, false)
				}
			}
		case "timestamps":
			if r.TryDecodeAsNil() {
				x.Timestamps = false
			} else {
				x.Timestamps = bool(r.DecodeBool())
			}
		case "tailLines":
			if r.TryDecodeAsNil() {
				if x.TailLines != nil {
					x.TailLines = nil
				}
			} else {
				if x.TailLines == nil {
					x.TailLines = new(int64)
				}
				yym2825 := z.DecBinary()
				_ = yym2825
				if false {
				} else {
					*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
				}
			}
		case "limitBytes":
			if r.TryDecodeAsNil() {
				if x.LimitBytes != nil {
					x.LimitBytes = nil
				}
			} else {
				if x.LimitBytes == nil {
					x.LimitBytes = new(int64)
				}
				yym2827 := z.DecBinary()
				_ = yym2827
				if false {
				} else {
					*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2813)
		} // end switch yys2813
	} // end for yyj2813
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodLogOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2828 int
	var yyb2828 bool
	var yyhl2828 bool = l >= 0
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Follow = false
	} else {
		x.Follow = bool(r.DecodeBool())
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Previous = false
	} else {
		x.Previous = bool(r.DecodeBool())
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SinceSeconds != nil {
			x.SinceSeconds = nil
		}
	} else {
		if x.SinceSeconds == nil {
			x.SinceSeconds = new(int64)
		}
		yym2835 := z.DecBinary()
		_ = yym2835
		if false {
		} else {
			*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SinceTime != nil {
			x.SinceTime = nil
		}
	} else {
		if x.SinceTime == nil {
			x.SinceTime = new(pkg2_unversioned.Time)
		}
		yym2837 := z.DecBinary()
		_ = yym2837
		if false {
		} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
		} else if yym2837 {
			z.DecBinaryUnmarshal(x.SinceTime)
		} else if !yym2837 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.SinceTime)
		} else {
			z.DecFallback(x.SinceTime, false)
		}
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Timestamps = false
	} else {
		x.Timestamps = bool(r.DecodeBool())
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TailLines != nil {
			x.TailLines = nil
		}
	} else {
		if x.TailLines == nil {
			x.TailLines = new(int64)
		}
		yym2840 := z.DecBinary()
		_ = yym2840
		if false {
		} else {
			*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
		}
	}
	yyj2828++
	if yyhl2828 {
		yyb2828 = yyj2828 > l
	} else {
		yyb2828 = r.CheckBreak()
	}
	if yyb2828 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.LimitBytes != nil {
			x.LimitBytes = nil
		}
	} else {
		if x.LimitBytes == nil {
			x.LimitBytes = new(int64)
		}
		yym2842 := z.DecBinary()
		_ = yym2842
		if false {
		} else {
			*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2828++
		if yyhl2828 {
			yyb2828 = yyj2828 > l
		} else {
			yyb2828 = r.CheckBreak()
		}
		if yyb2828 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2828-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAttachOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2843 := z.EncBinary()
		_ = yym2843
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2844 := !z.EncBinary()
			yy2arr2844 := z.EncBasicHandle().StructToArray
			var yyq2844 [7]bool
			_, _, _ = yysep2844, yyq2844, yy2arr2844
			const yyr2844 bool = false
			yyq2844[0] = x.Kind != ""
			yyq2844[1] = x.APIVersion != ""
			yyq2844[2] = x.Stdin != false
			yyq2844[3] = x.Stdout != false
			yyq2844[4] = x.Stderr != false
			yyq2844[5] = x.TTY != false
			yyq2844[6] = x.Container != ""
			var yynn2844 int
			if yyr2844 || yy2arr2844 {
				r.EncodeArrayStart(7)
			} else {
				yynn2844 = 0
				for _, b := range yyq2844 {
					if b {
						yynn2844++
					}
				}
				r.EncodeMapStart(yynn2844)
				yynn2844 = 0
			}
			if yyr2844 || yy2arr2844 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2844[0] {
					yym2846 := z.EncBinary()
					_ = yym2846
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2844[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2847 := z.EncBinary()
					_ = yym2847
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2844 || yy2arr2844 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2844[1] {
					yym2849 := z.EncBinary()
					_ = yym2849
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2844[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2850 := z.EncBinary()
					_ = yym2850
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2844 || yy2arr2844 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2844[2] {
					yym2852 := z.EncBinary()
					_ = yym2852
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2844[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2853 := z.EncBinary()
					_ = yym2853
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr2844 || yy2arr2844 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2844[3] {
					yym2855 := z.EncBinary()
					_ = yym2855
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2844[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2856 := z.EncBinary()
					_ = yym2856
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr2844 || yy2arr2844 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2844[4] {
					yym2858 := z.EncBinary()
					_ = yym2858
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2844[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2859 := z.EncBinary()
					_ = yym2859
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr2844 || yy2arr2844 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2844[5] {
					yym2861 := z.EncBinary()
					_ = yym2861
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2844[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2862 := z.EncBinary()
					_ = yym2862
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr2844 || yy2arr2844 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2844[6] {
					yym2864 := z.EncBinary()
					_ = yym2864
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2844[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2865 := z.EncBinary()
					_ = yym2865
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr2844 || yy2arr2844 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAttachOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2866 := z.DecBinary()
	_ = yym2866
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2867 := r.ContainerType()
		if yyct2867 == codecSelferValueTypeMap1234 {
			yyl2867 := r.ReadMapStart()
			if yyl2867 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2867, d)
			}
		} else if yyct2867 == codecSelferValueTypeArray1234 {
			yyl2867 := r.ReadArrayStart()
			if yyl2867 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2867, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAttachOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2868Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2868Slc
	var yyhl2868 bool = l >= 0
	for yyj2868 := 0; ; yyj2868++ {
		if yyhl2868 {
			if yyj2868 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2868Slc = r.DecodeBytes(yys2868Slc, true, true)
		yys2868 := string(yys2868Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2868 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdout":
			if r.TryDecodeAsNil() {
				x.Stdout = false
			} else {
				x.Stdout = bool(r.DecodeBool())
			}
		case "stderr":
			if r.TryDecodeAsNil() {
				x.Stderr = false
			} else {
				x.Stderr = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		case "container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2868)
		} // end switch yys2868
	} // end for yyj2868
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAttachOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2876 int
	var yyb2876 bool
	var yyhl2876 bool = l >= 0
	yyj2876++
	if yyhl2876 {
		yyb2876 = yyj2876 > l
	} else {
		yyb2876 = r.CheckBreak()
	}
	if yyb2876 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2876++
	if yyhl2876 {
		yyb2876 = yyj2876 > l
	} else {
		yyb2876 = r.CheckBreak()
	}
	if yyb2876 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2876++
	if yyhl2876 {
		yyb2876 = yyj2876 > l
	} else {
		yyb2876 = r.CheckBreak()
	}
	if yyb2876 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj2876++
	if yyhl2876 {
		yyb2876 = yyj2876 > l
	} else {
		yyb2876 = r.CheckBreak()
	}
	if yyb2876 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj2876++
	if yyhl2876 {
		yyb2876 = yyj2876 > l
	} else {
		yyb2876 = r.CheckBreak()
	}
	if yyb2876 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj2876++
	if yyhl2876 {
		yyb2876 = yyj2876 > l
	} else {
		yyb2876 = r.CheckBreak()
	}
	if yyb2876 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj2876++
	if yyhl2876 {
		yyb2876 = yyj2876 > l
	} else {
		yyb2876 = r.CheckBreak()
	}
	if yyb2876 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	for {
		yyj2876++
		if yyhl2876 {
			yyb2876 = yyj2876 > l
		} else {
			yyb2876 = r.CheckBreak()
		}
		if yyb2876 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2876-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodExecOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2884 := z.EncBinary()
		_ = yym2884
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2885 := !z.EncBinary()
			yy2arr2885 := z.EncBasicHandle().StructToArray
			var yyq2885 [8]bool
			_, _, _ = yysep2885, yyq2885, yy2arr2885
			const yyr2885 bool = false
			yyq2885[0] = x.Kind != ""
			yyq2885[1] = x.APIVersion != ""
			yyq2885[2] = x.Stdin != false
			yyq2885[3] = x.Stdout != false
			yyq2885[4] = x.Stderr != false
			yyq2885[5] = x.TTY != false
			yyq2885[6] = x.Container != ""
			var yynn2885 int
			if yyr2885 || yy2arr2885 {
				r.EncodeArrayStart(8)
			} else {
				yynn2885 = 1
				for _, b := range yyq2885 {
					if b {
						yynn2885++
					}
				}
				r.EncodeMapStart(yynn2885)
				yynn2885 = 0
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2885[0] {
					yym2887 := z.EncBinary()
					_ = yym2887
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2885[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2888 := z.EncBinary()
					_ = yym2888
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2885[1] {
					yym2890 := z.EncBinary()
					_ = yym2890
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2885[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2891 := z.EncBinary()
					_ = yym2891
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2885[2] {
					yym2893 := z.EncBinary()
					_ = yym2893
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2885[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2894 := z.EncBinary()
					_ = yym2894
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2885[3] {
					yym2896 := z.EncBinary()
					_ = yym2896
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2885[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2897 := z.EncBinary()
					_ = yym2897
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2885[4] {
					yym2899 := z.EncBinary()
					_ = yym2899
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2885[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2900 := z.EncBinary()
					_ = yym2900
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2885[5] {
					yym2902 := z.EncBinary()
					_ = yym2902
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2885[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2903 := z.EncBinary()
					_ = yym2903
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2885[6] {
					yym2905 := z.EncBinary()
					_ = yym2905
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2885[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2906 := z.EncBinary()
					_ = yym2906
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym2908 := z.EncBinary()
					_ = yym2908
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("command"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym2909 := z.EncBinary()
					_ = yym2909
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			}
			if yyr2885 || yy2arr2885 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodExecOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2910 := z.DecBinary()
	_ = yym2910
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2911 := r.ContainerType()
		if yyct2911 == codecSelferValueTypeMap1234 {
			yyl2911 := r.ReadMapStart()
			if yyl2911 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2911, d)
			}
		} else if yyct2911 == codecSelferValueTypeArray1234 {
			yyl2911 := r.ReadArrayStart()
			if yyl2911 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2911, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodExecOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2912Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2912Slc
	var yyhl2912 bool = l >= 0
	for yyj2912 := 0; ; yyj2912++ {
		if yyhl2912 {
			if yyj2912 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2912Slc = r.DecodeBytes(yys2912Slc, true, true)
		yys2912 := string(yys2912Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2912 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdout":
			if r.TryDecodeAsNil() {
				x.Stdout = false
			} else {
				x.Stdout = bool(r.DecodeBool())
			}
		case "stderr":
			if r.TryDecodeAsNil() {
				x.Stderr = false
			} else {
				x.Stderr = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		case "container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv2920 := &x.Command
				yym2921 := z.DecBinary()
				_ = yym2921
				if false {
				} else {
					z.F.DecSliceStringX(yyv2920, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2912)
		} // end switch yys2912
	} // end for yyj2912
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodExecOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2922 int
	var yyb2922 bool
	var yyhl2922 bool = l >= 0
	yyj2922++
	if yyhl2922 {
		yyb2922 = yyj2922 > l
	} else {
		yyb2922 = r.CheckBreak()
	}
	if yyb2922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2922++
	if yyhl2922 {
		yyb2922 = yyj2922 > l
	} else {
		yyb2922 = r.CheckBreak()
	}
	if yyb2922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2922++
	if yyhl2922 {
		yyb2922 = yyj2922 > l
	} else {
		yyb2922 = r.CheckBreak()
	}
	if yyb2922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj2922++
	if yyhl2922 {
		yyb2922 = yyj2922 > l
	} else {
		yyb2922 = r.CheckBreak()
	}
	if yyb2922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj2922++
	if yyhl2922 {
		yyb2922 = yyj2922 > l
	} else {
		yyb2922 = r.CheckBreak()
	}
	if yyb2922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj2922++
	if yyhl2922 {
		yyb2922 = yyj2922 > l
	} else {
		yyb2922 = r.CheckBreak()
	}
	if yyb2922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj2922++
	if yyhl2922 {
		yyb2922 = yyj2922 > l
	} else {
		yyb2922 = r.CheckBreak()
	}
	if yyb2922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj2922++
	if yyhl2922 {
		yyb2922 = yyj2922 > l
	} else {
		yyb2922 = r.CheckBreak()
	}
	if yyb2922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv2930 := &x.Command
		yym2931 := z.DecBinary()
		_ = yym2931
		if false {
		} else {
			z.F.DecSliceStringX(yyv2930, false, d)
		}
	}
	for {
		yyj2922++
		if yyhl2922 {
			yyb2922 = yyj2922 > l
		} else {
			yyb2922 = r.CheckBreak()
		}
		if yyb2922 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2922-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2932 := z.EncBinary()
		_ = yym2932
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2933 := !z.EncBinary()
			yy2arr2933 := z.EncBasicHandle().StructToArray
			var yyq2933 [3]bool
			_, _, _ = yysep2933, yyq2933, yy2arr2933
			const yyr2933 bool = false
			yyq2933[0] = x.Kind != ""
			yyq2933[1] = x.APIVersion != ""
			yyq2933[2] = x.Path != ""
			var yynn2933 int
			if yyr2933 || yy2arr2933 {
				r.EncodeArrayStart(3)
			} else {
				yynn2933 = 0
				for _, b := range yyq2933 {
					if b {
						yynn2933++
					}
				}
				r.EncodeMapStart(yynn2933)
				yynn2933 = 0
			}
			if yyr2933 || yy2arr2933 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2933[0] {
					yym2935 := z.EncBinary()
					_ = yym2935
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2933[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2936 := z.EncBinary()
					_ = yym2936
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2933 || yy2arr2933 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2933[1] {
					yym2938 := z.EncBinary()
					_ = yym2938
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2933[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2939 := z.EncBinary()
					_ = yym2939
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2933 || yy2arr2933 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2933[2] {
					yym2941 := z.EncBinary()
					_ = yym2941
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2933[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2942 := z.EncBinary()
					_ = yym2942
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr2933 || yy2arr2933 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2943 := z.DecBinary()
	_ = yym2943
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2944 := r.ContainerType()
		if yyct2944 == codecSelferValueTypeMap1234 {
			yyl2944 := r.ReadMapStart()
			if yyl2944 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2944, d)
			}
		} else if yyct2944 == codecSelferValueTypeArray1234 {
			yyl2944 := r.ReadArrayStart()
			if yyl2944 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2944, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodProxyOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2945Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2945Slc
	var yyhl2945 bool = l >= 0
	for yyj2945 := 0; ; yyj2945++ {
		if yyhl2945 {
			if yyj2945 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2945Slc = r.DecodeBytes(yys2945Slc, true, true)
		yys2945 := string(yys2945Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2945 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2945)
		} // end switch yys2945
	} // end for yyj2945
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodProxyOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2949 int
	var yyb2949 bool
	var yyhl2949 bool = l >= 0
	yyj2949++
	if yyhl2949 {
		yyb2949 = yyj2949 > l
	} else {
		yyb2949 = r.CheckBreak()
	}
	if yyb2949 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2949++
	if yyhl2949 {
		yyb2949 = yyj2949 > l
	} else {
		yyb2949 = r.CheckBreak()
	}
	if yyb2949 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2949++
	if yyhl2949 {
		yyb2949 = yyj2949 > l
	} else {
		yyb2949 = r.CheckBreak()
	}
	if yyb2949 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj2949++
		if yyhl2949 {
			yyb2949 = yyj2949 > l
		} else {
			yyb2949 = r.CheckBreak()
		}
		if yyb2949 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2949-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2953 := z.EncBinary()
		_ = yym2953
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2954 := !z.EncBinary()
			yy2arr2954 := z.EncBasicHandle().StructToArray
			var yyq2954 [7]bool
			_, _, _ = yysep2954, yyq2954, yy2arr2954
			const yyr2954 bool = false
			yyq2954[0] = x.Kind != ""
			yyq2954[1] = x.Namespace != ""
			yyq2954[2] = x.Name != ""
			yyq2954[3] = x.UID != ""
			yyq2954[4] = x.APIVersion != ""
			yyq2954[5] = x.ResourceVersion != ""
			yyq2954[6] = x.FieldPath != ""
			var yynn2954 int
			if yyr2954 || yy2arr2954 {
				r.EncodeArrayStart(7)
			} else {
				yynn2954 = 0
				for _, b := range yyq2954 {
					if b {
						yynn2954++
					}
				}
				r.EncodeMapStart(yynn2954)
				yynn2954 = 0
			}
			if yyr2954 || yy2arr2954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2954[0] {
					yym2956 := z.EncBinary()
					_ = yym2956
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2954[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2957 := z.EncBinary()
					_ = yym2957
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2954 || yy2arr2954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2954[1] {
					yym2959 := z.EncBinary()
					_ = yym2959
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2954[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2960 := z.EncBinary()
					_ = yym2960
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2954 || yy2arr2954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2954[2] {
					yym2962 := z.EncBinary()
					_ = yym2962
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2954[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2963 := z.EncBinary()
					_ = yym2963
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2954 || yy2arr2954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2954[3] {
					yym2965 := z.EncBinary()
					_ = yym2965
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2954[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2966 := z.EncBinary()
					_ = yym2966
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr2954 || yy2arr2954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2954[4] {
					yym2968 := z.EncBinary()
					_ = yym2968
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2954[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2969 := z.EncBinary()
					_ = yym2969
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2954 || yy2arr2954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2954[5] {
					yym2971 := z.EncBinary()
					_ = yym2971
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2954[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2972 := z.EncBinary()
					_ = yym2972
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2954 || yy2arr2954 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2954[6] {
					yym2974 := z.EncBinary()
					_ = yym2974
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2954[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2975 := z.EncBinary()
					_ = yym2975
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				}
			}
			if yyr2954 || yy2arr2954 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2976 := z.DecBinary()
	_ = yym2976
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2977 := r.ContainerType()
		if yyct2977 == codecSelferValueTypeMap1234 {
			yyl2977 := r.ReadMapStart()
			if yyl2977 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2977, d)
			}
		} else if yyct2977 == codecSelferValueTypeArray1234 {
			yyl2977 := r.ReadArrayStart()
			if yyl2977 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2977, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2978Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2978Slc
	var yyhl2978 bool = l >= 0
	for yyj2978 := 0; ; yyj2978++ {
		if yyhl2978 {
			if yyj2978 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2978Slc = r.DecodeBytes(yys2978Slc, true, true)
		yys2978 := string(yys2978Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2978 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "namespace":
			if r.TryDecodeAsNil() {
				x.Namespace = ""
			} else {
				x.Namespace = string(r.DecodeString())
			}
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "fieldPath":
			if r.TryDecodeAsNil() {
				x.FieldPath = ""
			} else {
				x.FieldPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2978)
		} // end switch yys2978
	} // end for yyj2978
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2986 int
	var yyb2986 bool
	var yyhl2986 bool = l >= 0
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj2986++
		if yyhl2986 {
			yyb2986 = yyj2986 > l
		} else {
			yyb2986 = r.CheckBreak()
		}
		if yyb2986 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2986-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LocalObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2994 := z.EncBinary()
		_ = yym2994
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2995 := !z.EncBinary()
			yy2arr2995 := z.EncBasicHandle().StructToArray
			var yyq2995 [1]bool
			_, _, _ = yysep2995, yyq2995, yy2arr2995
			const yyr2995 bool = false
			yyq2995[0] = x.Name != ""
			var yynn2995 int
			if yyr2995 || yy2arr2995 {
				r.EncodeArrayStart(1)
			} else {
				yynn2995 = 0
				for _, b := range yyq2995 {
					if b {
						yynn2995++
					}
				}
				r.EncodeMapStart(yynn2995)
				yynn2995 = 0
			}
			if yyr2995 || yy2arr2995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2995[0] {
					yym2997 := z.EncBinary()
					_ = yym2997
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2995[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2998 := z.EncBinary()
					_ = yym2998
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2995 || yy2arr2995 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LocalObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2999 := z.DecBinary()
	_ = yym2999
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3000 := r.ContainerType()
		if yyct3000 == codecSelferValueTypeMap1234 {
			yyl3000 := r.ReadMapStart()
			if yyl3000 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3000, d)
			}
		} else if yyct3000 == codecSelferValueTypeArray1234 {
			yyl3000 := r.ReadArrayStart()
			if yyl3000 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3000, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LocalObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3001Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3001Slc
	var yyhl3001 bool = l >= 0
	for yyj3001 := 0; ; yyj3001++ {
		if yyhl3001 {
			if yyj3001 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3001Slc = r.DecodeBytes(yys3001Slc, true, true)
		yys3001 := string(yys3001Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3001 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3001)
		} // end switch yys3001
	} // end for yyj3001
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LocalObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3003 int
	var yyb3003 bool
	var yyhl3003 bool = l >= 0
	yyj3003++
	if yyhl3003 {
		yyb3003 = yyj3003 > l
	} else {
		yyb3003 = r.CheckBreak()
	}
	if yyb3003 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	for {
		yyj3003++
		if yyhl3003 {
			yyb3003 = yyj3003 > l
		} else {
			yyb3003 = r.CheckBreak()
		}
		if yyb3003 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3003-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SerializedReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3005 := z.EncBinary()
		_ = yym3005
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3006 := !z.EncBinary()
			yy2arr3006 := z.EncBasicHandle().StructToArray
			var yyq3006 [3]bool
			_, _, _ = yysep3006, yyq3006, yy2arr3006
			const yyr3006 bool = false
			yyq3006[0] = x.Kind != ""
			yyq3006[1] = x.APIVersion != ""
			yyq3006[2] = true
			var yynn3006 int
			if yyr3006 || yy2arr3006 {
				r.EncodeArrayStart(3)
			} else {
				yynn3006 = 0
				for _, b := range yyq3006 {
					if b {
						yynn3006++
					}
				}
				r.EncodeMapStart(yynn3006)
				yynn3006 = 0
			}
			if yyr3006 || yy2arr3006 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3006[0] {
					yym3008 := z.EncBinary()
					_ = yym3008
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3006[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3009 := z.EncBinary()
					_ = yym3009
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3006 || yy2arr3006 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3006[1] {
					yym3011 := z.EncBinary()
					_ = yym3011
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3006[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3012 := z.EncBinary()
					_ = yym3012
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3006 || yy2arr3006 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3006[2] {
					yy3014 := &x.Reference
					yy3014.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3006[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reference"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3015 := &x.Reference
					yy3015.CodecEncodeSelf(e)
				}
			}
			if yyr3006 || yy2arr3006 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SerializedReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3016 := z.DecBinary()
	_ = yym3016
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3017 := r.ContainerType()
		if yyct3017 == codecSelferValueTypeMap1234 {
			yyl3017 := r.ReadMapStart()
			if yyl3017 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3017, d)
			}
		} else if yyct3017 == codecSelferValueTypeArray1234 {
			yyl3017 := r.ReadArrayStart()
			if yyl3017 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3017, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SerializedReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3018Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3018Slc
	var yyhl3018 bool = l >= 0
	for yyj3018 := 0; ; yyj3018++ {
		if yyhl3018 {
			if yyj3018 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3018Slc = r.DecodeBytes(yys3018Slc, true, true)
		yys3018 := string(yys3018Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3018 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "reference":
			if r.TryDecodeAsNil() {
				x.Reference = ObjectReference{}
			} else {
				yyv3021 := &x.Reference
				yyv3021.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3018)
		} // end switch yys3018
	} // end for yyj3018
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SerializedReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3022 int
	var yyb3022 bool
	var yyhl3022 bool = l >= 0
	yyj3022++
	if yyhl3022 {
		yyb3022 = yyj3022 > l
	} else {
		yyb3022 = r.CheckBreak()
	}
	if yyb3022 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3022++
	if yyhl3022 {
		yyb3022 = yyj3022 > l
	} else {
		yyb3022 = r.CheckBreak()
	}
	if yyb3022 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3022++
	if yyhl3022 {
		yyb3022 = yyj3022 > l
	} else {
		yyb3022 = r.CheckBreak()
	}
	if yyb3022 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reference = ObjectReference{}
	} else {
		yyv3025 := &x.Reference
		yyv3025.CodecDecodeSelf(d)
	}
	for {
		yyj3022++
		if yyhl3022 {
			yyb3022 = yyj3022 > l
		} else {
			yyb3022 = r.CheckBreak()
		}
		if yyb3022 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3022-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EventSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3026 := z.EncBinary()
		_ = yym3026
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3027 := !z.EncBinary()
			yy2arr3027 := z.EncBasicHandle().StructToArray
			var yyq3027 [2]bool
			_, _, _ = yysep3027, yyq3027, yy2arr3027
			const yyr3027 bool = false
			yyq3027[0] = x.Component != ""
			yyq3027[1] = x.Host != ""
			var yynn3027 int
			if yyr3027 || yy2arr3027 {
				r.EncodeArrayStart(2)
			} else {
				yynn3027 = 0
				for _, b := range yyq3027 {
					if b {
						yynn3027++
					}
				}
				r.EncodeMapStart(yynn3027)
				yynn3027 = 0
			}
			if yyr3027 || yy2arr3027 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3027[0] {
					yym3029 := z.EncBinary()
					_ = yym3029
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3027[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("component"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3030 := z.EncBinary()
					_ = yym3030
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				}
			}
			if yyr3027 || yy2arr3027 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3027[1] {
					yym3032 := z.EncBinary()
					_ = yym3032
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3027[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3033 := z.EncBinary()
					_ = yym3033
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr3027 || yy2arr3027 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EventSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3034 := z.DecBinary()
	_ = yym3034
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3035 := r.ContainerType()
		if yyct3035 == codecSelferValueTypeMap1234 {
			yyl3035 := r.ReadMapStart()
			if yyl3035 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3035, d)
			}
		} else if yyct3035 == codecSelferValueTypeArray1234 {
			yyl3035 := r.ReadArrayStart()
			if yyl3035 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3035, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EventSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3036Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3036Slc
	var yyhl3036 bool = l >= 0
	for yyj3036 := 0; ; yyj3036++ {
		if yyhl3036 {
			if yyj3036 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3036Slc = r.DecodeBytes(yys3036Slc, true, true)
		yys3036 := string(yys3036Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3036 {
		case "component":
			if r.TryDecodeAsNil() {
				x.Component = ""
			} else {
				x.Component = string(r.DecodeString())
			}
		case "host":
			if r.TryDecodeAsNil() {
				x.Host = ""
			} else {
				x.Host = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3036)
		} // end switch yys3036
	} // end for yyj3036
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EventSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3039 int
	var yyb3039 bool
	var yyhl3039 bool = l >= 0
	yyj3039++
	if yyhl3039 {
		yyb3039 = yyj3039 > l
	} else {
		yyb3039 = r.CheckBreak()
	}
	if yyb3039 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Component = ""
	} else {
		x.Component = string(r.DecodeString())
	}
	yyj3039++
	if yyhl3039 {
		yyb3039 = yyj3039 > l
	} else {
		yyb3039 = r.CheckBreak()
	}
	if yyb3039 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	for {
		yyj3039++
		if yyhl3039 {
			yyb3039 = yyj3039 > l
		} else {
			yyb3039 = r.CheckBreak()
		}
		if yyb3039 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3039-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Event) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3042 := z.EncBinary()
		_ = yym3042
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3043 := !z.EncBinary()
			yy2arr3043 := z.EncBasicHandle().StructToArray
			var yyq3043 [11]bool
			_, _, _ = yysep3043, yyq3043, yy2arr3043
			const yyr3043 bool = false
			yyq3043[0] = x.Kind != ""
			yyq3043[1] = x.APIVersion != ""
			yyq3043[4] = x.Reason != ""
			yyq3043[5] = x.Message != ""
			yyq3043[6] = true
			yyq3043[7] = true
			yyq3043[8] = true
			yyq3043[9] = x.Count != 0
			yyq3043[10] = x.Type != ""
			var yynn3043 int
			if yyr3043 || yy2arr3043 {
				r.EncodeArrayStart(11)
			} else {
				yynn3043 = 2
				for _, b := range yyq3043 {
					if b {
						yynn3043++
					}
				}
				r.EncodeMapStart(yynn3043)
				yynn3043 = 0
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[0] {
					yym3045 := z.EncBinary()
					_ = yym3045
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3043[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3046 := z.EncBinary()
					_ = yym3046
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[1] {
					yym3048 := z.EncBinary()
					_ = yym3048
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3043[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3049 := z.EncBinary()
					_ = yym3049
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3051 := &x.ObjectMeta
				yy3051.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("metadata"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3052 := &x.ObjectMeta
				yy3052.CodecEncodeSelf(e)
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3054 := &x.InvolvedObject
				yy3054.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("involvedObject"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3055 := &x.InvolvedObject
				yy3055.CodecEncodeSelf(e)
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[4] {
					yym3057 := z.EncBinary()
					_ = yym3057
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3043[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3058 := z.EncBinary()
					_ = yym3058
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[5] {
					yym3060 := z.EncBinary()
					_ = yym3060
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3043[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3061 := z.EncBinary()
					_ = yym3061
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[6] {
					yy3063 := &x.Source
					yy3063.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3043[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("source"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3064 := &x.Source
					yy3064.CodecEncodeSelf(e)
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[7] {
					yy3066 := &x.FirstTimestamp
					yym3067 := z.EncBinary()
					_ = yym3067
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3066) {
					} else if yym3067 {
						z.EncBinaryMarshal(yy3066)
					} else if !yym3067 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3066)
					} else {
						z.EncFallback(yy3066)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3043[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("firstTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3068 := &x.FirstTimestamp
					yym3069 := z.EncBinary()
					_ = yym3069
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3068) {
					} else if yym3069 {
						z.EncBinaryMarshal(yy3068)
					} else if !yym3069 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3068)
					} else {
						z.EncFallback(yy3068)
					}
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[8] {
					yy3071 := &x.LastTimestamp
					yym3072 := z.EncBinary()
					_ = yym3072
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3071) {
					} else if yym3072 {
						z.EncBinaryMarshal(yy3071)
					} else if !yym3072 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3071)
					} else {
						z.EncFallback(yy3071)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3043[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3073 := &x.LastTimestamp
					yym3074 := z.EncBinary()
					_ = yym3074
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3073) {
					} else if yym3074 {
						z.EncBinaryMarshal(yy3073)
					} else if !yym3074 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3073)
					} else {
						z.EncFallback(yy3073)
					}
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[9] {
					yym3076 := z.EncBinary()
					_ = yym3076
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq3043[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("count"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3077 := z.EncBinary()
					_ = yym3077
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3043[10] {
					yym3079 := z.EncBinary()
					_ = yym3079
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3043[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3080 := z.EncBinary()
					_ = yym3080
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Event) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3081 := z.DecBinary()
	_ = yym3081
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3082 := r.ContainerType()
		if yyct3082 == codecSelferValueTypeMap1234 {
			yyl3082 := r.ReadMapStart()
			if yyl3082 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3082, d)
			}
		} else if yyct3082 == codecSelferValueTypeArray1234 {
			yyl3082 := r.ReadArrayStart()
			if yyl3082 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3082, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Event) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3083Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3083Slc
	var yyhl3083 bool = l >= 0
	for yyj3083 := 0; ; yyj3083++ {
		if yyhl3083 {
			if yyj3083 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3083Slc = r.DecodeBytes(yys3083Slc, true, true)
		yys3083 := string(yys3083Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3083 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3086 := &x.ObjectMeta
				yyv3086.CodecDecodeSelf(d)
			}
		case "involvedObject":
			if r.TryDecodeAsNil() {
				x.InvolvedObject = ObjectReference{}
			} else {
				yyv3087 := &x.InvolvedObject
				yyv3087.CodecDecodeSelf(d)
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "source":
			if r.TryDecodeAsNil() {
				x.Source = EventSource{}
			} else {
				yyv3090 := &x.Source
				yyv3090.CodecDecodeSelf(d)
			}
		case "firstTimestamp":
			if r.TryDecodeAsNil() {
				x.FirstTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv3091 := &x.FirstTimestamp
				yym3092 := z.DecBinary()
				_ = yym3092
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3091) {
				} else if yym3092 {
					z.DecBinaryUnmarshal(yyv3091)
				} else if !yym3092 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3091)
				} else {
					z.DecFallback(yyv3091, false)
				}
			}
		case "lastTimestamp":
			if r.TryDecodeAsNil() {
				x.LastTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv3093 := &x.LastTimestamp
				yym3094 := z.DecBinary()
				_ = yym3094
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3093) {
				} else if yym3094 {
					z.DecBinaryUnmarshal(yyv3093)
				} else if !yym3094 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3093)
				} else {
					z.DecFallback(yyv3093, false)
				}
			}
		case "count":
			if r.TryDecodeAsNil() {
				x.Count = 0
			} else {
				x.Count = int32(r.DecodeInt(32))
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3083)
		} // end switch yys3083
	} // end for yyj3083
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Event) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3097 int
	var yyb3097 bool
	var yyhl3097 bool = l >= 0
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3100 := &x.ObjectMeta
		yyv3100.CodecDecodeSelf(d)
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InvolvedObject = ObjectReference{}
	} else {
		yyv3101 := &x.InvolvedObject
		yyv3101.CodecDecodeSelf(d)
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Source = EventSource{}
	} else {
		yyv3104 := &x.Source
		yyv3104.CodecDecodeSelf(d)
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FirstTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv3105 := &x.FirstTimestamp
		yym3106 := z.DecBinary()
		_ = yym3106
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3105) {
		} else if yym3106 {
			z.DecBinaryUnmarshal(yyv3105)
		} else if !yym3106 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3105)
		} else {
			z.DecFallback(yyv3105, false)
		}
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv3107 := &x.LastTimestamp
		yym3108 := z.DecBinary()
		_ = yym3108
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3107) {
		} else if yym3108 {
			z.DecBinaryUnmarshal(yyv3107)
		} else if !yym3108 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3107)
		} else {
			z.DecFallback(yyv3107, false)
		}
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Count = 0
	} else {
		x.Count = int32(r.DecodeInt(32))
	}
	yyj3097++
	if yyhl3097 {
		yyb3097 = yyj3097 > l
	} else {
		yyb3097 = r.CheckBreak()
	}
	if yyb3097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	for {
		yyj3097++
		if yyhl3097 {
			yyb3097 = yyj3097 > l
		} else {
			yyb3097 = r.CheckBreak()
		}
		if yyb3097 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3097-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EventList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3111 := z.EncBinary()
		_ = yym3111
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3112 := !z.EncBinary()
			yy2arr3112 := z.EncBasicHandle().StructToArray
			var yyq3112 [4]bool
			_, _, _ = yysep3112, yyq3112, yy2arr3112
			const yyr3112 bool = false
			yyq3112[0] = x.Kind != ""
			yyq3112[1] = x.APIVersion != ""
			yyq3112[2] = true
			var yynn3112 int
			if yyr3112 || yy2arr3112 {
				r.EncodeArrayStart(4)
			} else {
				yynn3112 = 1
				for _, b := range yyq3112 {
					if b {
						yynn3112++
					}
				}
				r.EncodeMapStart(yynn3112)
				yynn3112 = 0
			}
			if yyr3112 || yy2arr3112 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3112[0] {
					yym3114 := z.EncBinary()
					_ = yym3114
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3112[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3115 := z.EncBinary()
					_ = yym3115
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3112 || yy2arr3112 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3112[1] {
					yym3117 := z.EncBinary()
					_ = yym3117
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3112[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3118 := z.EncBinary()
					_ = yym3118
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3112 || yy2arr3112 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3112[2] {
					yy3120 := &x.ListMeta
					yym3121 := z.EncBinary()
					_ = yym3121
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3120) {
					} else {
						z.EncFallback(yy3120)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3112[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3122 := &x.ListMeta
					yym3123 := z.EncBinary()
					_ = yym3123
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3122) {
					} else {
						z.EncFallback(yy3122)
					}
				}
			}
			if yyr3112 || yy2arr3112 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3125 := z.EncBinary()
					_ = yym3125
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3126 := z.EncBinary()
					_ = yym3126
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			}
			if yyr3112 || yy2arr3112 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EventList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3127 := z.DecBinary()
	_ = yym3127
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3128 := r.ContainerType()
		if yyct3128 == codecSelferValueTypeMap1234 {
			yyl3128 := r.ReadMapStart()
			if yyl3128 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3128, d)
			}
		} else if yyct3128 == codecSelferValueTypeArray1234 {
			yyl3128 := r.ReadArrayStart()
			if yyl3128 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3128, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EventList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3129Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3129Slc
	var yyhl3129 bool = l >= 0
	for yyj3129 := 0; ; yyj3129++ {
		if yyhl3129 {
			if yyj3129 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3129Slc = r.DecodeBytes(yys3129Slc, true, true)
		yys3129 := string(yys3129Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3129 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3132 := &x.ListMeta
				yym3133 := z.DecBinary()
				_ = yym3133
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3132) {
				} else {
					z.DecFallback(yyv3132, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3134 := &x.Items
				yym3135 := z.DecBinary()
				_ = yym3135
				if false {
				} else {
					h.decSliceEvent((*[]Event)(yyv3134), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3129)
		} // end switch yys3129
	} // end for yyj3129
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EventList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3136 int
	var yyb3136 bool
	var yyhl3136 bool = l >= 0
	yyj3136++
	if yyhl3136 {
		yyb3136 = yyj3136 > l
	} else {
		yyb3136 = r.CheckBreak()
	}
	if yyb3136 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3136++
	if yyhl3136 {
		yyb3136 = yyj3136 > l
	} else {
		yyb3136 = r.CheckBreak()
	}
	if yyb3136 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3136++
	if yyhl3136 {
		yyb3136 = yyj3136 > l
	} else {
		yyb3136 = r.CheckBreak()
	}
	if yyb3136 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3139 := &x.ListMeta
		yym3140 := z.DecBinary()
		_ = yym3140
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3139) {
		} else {
			z.DecFallback(yyv3139, false)
		}
	}
	yyj3136++
	if yyhl3136 {
		yyb3136 = yyj3136 > l
	} else {
		yyb3136 = r.CheckBreak()
	}
	if yyb3136 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3141 := &x.Items
		yym3142 := z.DecBinary()
		_ = yym3142
		if false {
		} else {
			h.decSliceEvent((*[]Event)(yyv3141), d)
		}
	}
	for {
		yyj3136++
		if yyhl3136 {
			yyb3136 = yyj3136 > l
		} else {
			yyb3136 = r.CheckBreak()
		}
		if yyb3136 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3136-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *List) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3143 := z.EncBinary()
		_ = yym3143
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3144 := !z.EncBinary()
			yy2arr3144 := z.EncBasicHandle().StructToArray
			var yyq3144 [4]bool
			_, _, _ = yysep3144, yyq3144, yy2arr3144
			const yyr3144 bool = false
			yyq3144[0] = x.Kind != ""
			yyq3144[1] = x.APIVersion != ""
			yyq3144[2] = true
			var yynn3144 int
			if yyr3144 || yy2arr3144 {
				r.EncodeArrayStart(4)
			} else {
				yynn3144 = 1
				for _, b := range yyq3144 {
					if b {
						yynn3144++
					}
				}
				r.EncodeMapStart(yynn3144)
				yynn3144 = 0
			}
			if yyr3144 || yy2arr3144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3144[0] {
					yym3146 := z.EncBinary()
					_ = yym3146
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3144[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3147 := z.EncBinary()
					_ = yym3147
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3144 || yy2arr3144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3144[1] {
					yym3149 := z.EncBinary()
					_ = yym3149
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3144[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3150 := z.EncBinary()
					_ = yym3150
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3144 || yy2arr3144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3144[2] {
					yy3152 := &x.ListMeta
					yym3153 := z.EncBinary()
					_ = yym3153
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3152) {
					} else {
						z.EncFallback(yy3152)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3144[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3154 := &x.ListMeta
					yym3155 := z.EncBinary()
					_ = yym3155
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3154) {
					} else {
						z.EncFallback(yy3154)
					}
				}
			}
			if yyr3144 || yy2arr3144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3157 := z.EncBinary()
					_ = yym3157
					if false {
					} else {
						h.encSliceruntime_RawExtension(([]pkg6_runtime.RawExtension)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3158 := z.EncBinary()
					_ = yym3158
					if false {
					} else {
						h.encSliceruntime_RawExtension(([]pkg6_runtime.RawExtension)(x.Items), e)
					}
				}
			}
			if yyr3144 || yy2arr3144 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *List) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3159 := z.DecBinary()
	_ = yym3159
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3160 := r.ContainerType()
		if yyct3160 == codecSelferValueTypeMap1234 {
			yyl3160 := r.ReadMapStart()
			if yyl3160 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3160, d)
			}
		} else if yyct3160 == codecSelferValueTypeArray1234 {
			yyl3160 := r.ReadArrayStart()
			if yyl3160 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3160, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *List) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3161Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3161Slc
	var yyhl3161 bool = l >= 0
	for yyj3161 := 0; ; yyj3161++ {
		if yyhl3161 {
			if yyj3161 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3161Slc = r.DecodeBytes(yys3161Slc, true, true)
		yys3161 := string(yys3161Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3161 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3164 := &x.ListMeta
				yym3165 := z.DecBinary()
				_ = yym3165
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3164) {
				} else {
					z.DecFallback(yyv3164, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3166 := &x.Items
				yym3167 := z.DecBinary()
				_ = yym3167
				if false {
				} else {
					h.decSliceruntime_RawExtension((*[]pkg6_runtime.RawExtension)(yyv3166), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3161)
		} // end switch yys3161
	} // end for yyj3161
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *List) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3168 int
	var yyb3168 bool
	var yyhl3168 bool = l >= 0
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3171 := &x.ListMeta
		yym3172 := z.DecBinary()
		_ = yym3172
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3171) {
		} else {
			z.DecFallback(yyv3171, false)
		}
	}
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3173 := &x.Items
		yym3174 := z.DecBinary()
		_ = yym3174
		if false {
		} else {
			h.decSliceruntime_RawExtension((*[]pkg6_runtime.RawExtension)(yyv3173), d)
		}
	}
	for {
		yyj3168++
		if yyhl3168 {
			yyb3168 = yyj3168 > l
		} else {
			yyb3168 = r.CheckBreak()
		}
		if yyb3168 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3168-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x LimitType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3175 := z.EncBinary()
	_ = yym3175
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *LimitType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3176 := z.DecBinary()
	_ = yym3176
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *LimitRangeItem) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3177 := z.EncBinary()
		_ = yym3177
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3178 := !z.EncBinary()
			yy2arr3178 := z.EncBasicHandle().StructToArray
			var yyq3178 [6]bool
			_, _, _ = yysep3178, yyq3178, yy2arr3178
			const yyr3178 bool = false
			yyq3178[0] = x.Type != ""
			yyq3178[1] = len(x.Max) != 0
			yyq3178[2] = len(x.Min) != 0
			yyq3178[3] = len(x.Default) != 0
			yyq3178[4] = len(x.DefaultRequest) != 0
			yyq3178[5] = len(x.MaxLimitRequestRatio) != 0
			var yynn3178 int
			if yyr3178 || yy2arr3178 {
				r.EncodeArrayStart(6)
			} else {
				yynn3178 = 0
				for _, b := range yyq3178 {
					if b {
						yynn3178++
					}
				}
				r.EncodeMapStart(yynn3178)
				yynn3178 = 0
			}
			if yyr3178 || yy2arr3178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3178[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3178[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr3178 || yy2arr3178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3178[1] {
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3178[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("max"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3178 || yy2arr3178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3178[2] {
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3178[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("min"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3178 || yy2arr3178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3178[3] {
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3178[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("default"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3178 || yy2arr3178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3178[4] {
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3178[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultRequest"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3178 || yy2arr3178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3178[5] {
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3178[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("maxLimitRequestRatio"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3178 || yy2arr3178 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeItem) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3185 := z.DecBinary()
	_ = yym3185
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3186 := r.ContainerType()
		if yyct3186 == codecSelferValueTypeMap1234 {
			yyl3186 := r.ReadMapStart()
			if yyl3186 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3186, d)
			}
		} else if yyct3186 == codecSelferValueTypeArray1234 {
			yyl3186 := r.ReadArrayStart()
			if yyl3186 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3186, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeItem) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3187Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3187Slc
	var yyhl3187 bool = l >= 0
	for yyj3187 := 0; ; yyj3187++ {
		if yyhl3187 {
			if yyj3187 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3187Slc = r.DecodeBytes(yys3187Slc, true, true)
		yys3187 := string(yys3187Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3187 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = LimitType(r.DecodeString())
			}
		case "max":
			if r.TryDecodeAsNil() {
				x.Max = nil
			} else {
				yyv3189 := &x.Max
				yyv3189.CodecDecodeSelf(d)
			}
		case "min":
			if r.TryDecodeAsNil() {
				x.Min = nil
			} else {
				yyv3190 := &x.Min
				yyv3190.CodecDecodeSelf(d)
			}
		case "default":
			if r.TryDecodeAsNil() {
				x.Default = nil
			} else {
				yyv3191 := &x.Default
				yyv3191.CodecDecodeSelf(d)
			}
		case "defaultRequest":
			if r.TryDecodeAsNil() {
				x.DefaultRequest = nil
			} else {
				yyv3192 := &x.DefaultRequest
				yyv3192.CodecDecodeSelf(d)
			}
		case "maxLimitRequestRatio":
			if r.TryDecodeAsNil() {
				x.MaxLimitRequestRatio = nil
			} else {
				yyv3193 := &x.MaxLimitRequestRatio
				yyv3193.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3187)
		} // end switch yys3187
	} // end for yyj3187
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeItem) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3194 int
	var yyb3194 bool
	var yyhl3194 bool = l >= 0
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = LimitType(r.DecodeString())
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Max = nil
	} else {
		yyv3196 := &x.Max
		yyv3196.CodecDecodeSelf(d)
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Min = nil
	} else {
		yyv3197 := &x.Min
		yyv3197.CodecDecodeSelf(d)
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Default = nil
	} else {
		yyv3198 := &x.Default
		yyv3198.CodecDecodeSelf(d)
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DefaultRequest = nil
	} else {
		yyv3199 := &x.DefaultRequest
		yyv3199.CodecDecodeSelf(d)
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MaxLimitRequestRatio = nil
	} else {
		yyv3200 := &x.MaxLimitRequestRatio
		yyv3200.CodecDecodeSelf(d)
	}
	for {
		yyj3194++
		if yyhl3194 {
			yyb3194 = yyj3194 > l
		} else {
			yyb3194 = r.CheckBreak()
		}
		if yyb3194 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3194-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRangeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3201 := z.EncBinary()
		_ = yym3201
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3202 := !z.EncBinary()
			yy2arr3202 := z.EncBasicHandle().StructToArray
			var yyq3202 [1]bool
			_, _, _ = yysep3202, yyq3202, yy2arr3202
			const yyr3202 bool = false
			var yynn3202 int
			if yyr3202 || yy2arr3202 {
				r.EncodeArrayStart(1)
			} else {
				yynn3202 = 1
				for _, b := range yyq3202 {
					if b {
						yynn3202++
					}
				}
				r.EncodeMapStart(yynn3202)
				yynn3202 = 0
			}
			if yyr3202 || yy2arr3202 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym3204 := z.EncBinary()
					_ = yym3204
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("limits"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym3205 := z.EncBinary()
					_ = yym3205
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			}
			if yyr3202 || yy2arr3202 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3206 := z.DecBinary()
	_ = yym3206
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3207 := r.ContainerType()
		if yyct3207 == codecSelferValueTypeMap1234 {
			yyl3207 := r.ReadMapStart()
			if yyl3207 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3207, d)
			}
		} else if yyct3207 == codecSelferValueTypeArray1234 {
			yyl3207 := r.ReadArrayStart()
			if yyl3207 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3207, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3208Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3208Slc
	var yyhl3208 bool = l >= 0
	for yyj3208 := 0; ; yyj3208++ {
		if yyhl3208 {
			if yyj3208 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3208Slc = r.DecodeBytes(yys3208Slc, true, true)
		yys3208 := string(yys3208Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3208 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv3209 := &x.Limits
				yym3210 := z.DecBinary()
				_ = yym3210
				if false {
				} else {
					h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv3209), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3208)
		} // end switch yys3208
	} // end for yyj3208
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3211 int
	var yyb3211 bool
	var yyhl3211 bool = l >= 0
	yyj3211++
	if yyhl3211 {
		yyb3211 = yyj3211 > l
	} else {
		yyb3211 = r.CheckBreak()
	}
	if yyb3211 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv3212 := &x.Limits
		yym3213 := z.DecBinary()
		_ = yym3213
		if false {
		} else {
			h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv3212), d)
		}
	}
	for {
		yyj3211++
		if yyhl3211 {
			yyb3211 = yyj3211 > l
		} else {
			yyb3211 = r.CheckBreak()
		}
		if yyb3211 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3211-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRange) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3214 := z.EncBinary()
		_ = yym3214
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3215 := !z.EncBinary()
			yy2arr3215 := z.EncBasicHandle().StructToArray
			var yyq3215 [4]bool
			_, _, _ = yysep3215, yyq3215, yy2arr3215
			const yyr3215 bool = false
			yyq3215[0] = x.Kind != ""
			yyq3215[1] = x.APIVersion != ""
			yyq3215[2] = true
			yyq3215[3] = true
			var yynn3215 int
			if yyr3215 || yy2arr3215 {
				r.EncodeArrayStart(4)
			} else {
				yynn3215 = 0
				for _, b := range yyq3215 {
					if b {
						yynn3215++
					}
				}
				r.EncodeMapStart(yynn3215)
				yynn3215 = 0
			}
			if yyr3215 || yy2arr3215 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3215[0] {
					yym3217 := z.EncBinary()
					_ = yym3217
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3215[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3218 := z.EncBinary()
					_ = yym3218
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3215 || yy2arr3215 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3215[1] {
					yym3220 := z.EncBinary()
					_ = yym3220
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3215[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3221 := z.EncBinary()
					_ = yym3221
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3215 || yy2arr3215 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3215[2] {
					yy3223 := &x.ObjectMeta
					yy3223.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3215[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3224 := &x.ObjectMeta
					yy3224.CodecEncodeSelf(e)
				}
			}
			if yyr3215 || yy2arr3215 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3215[3] {
					yy3226 := &x.Spec
					yy3226.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3215[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3227 := &x.Spec
					yy3227.CodecEncodeSelf(e)
				}
			}
			if yyr3215 || yy2arr3215 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRange) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3228 := z.DecBinary()
	_ = yym3228
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3229 := r.ContainerType()
		if yyct3229 == codecSelferValueTypeMap1234 {
			yyl3229 := r.ReadMapStart()
			if yyl3229 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3229, d)
			}
		} else if yyct3229 == codecSelferValueTypeArray1234 {
			yyl3229 := r.ReadArrayStart()
			if yyl3229 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3229, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRange) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3230Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3230Slc
	var yyhl3230 bool = l >= 0
	for yyj3230 := 0; ; yyj3230++ {
		if yyhl3230 {
			if yyj3230 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3230Slc = r.DecodeBytes(yys3230Slc, true, true)
		yys3230 := string(yys3230Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3230 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3233 := &x.ObjectMeta
				yyv3233.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = LimitRangeSpec{}
			} else {
				yyv3234 := &x.Spec
				yyv3234.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3230)
		} // end switch yys3230
	} // end for yyj3230
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRange) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3235 int
	var yyb3235 bool
	var yyhl3235 bool = l >= 0
	yyj3235++
	if yyhl3235 {
		yyb3235 = yyj3235 > l
	} else {
		yyb3235 = r.CheckBreak()
	}
	if yyb3235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3235++
	if yyhl3235 {
		yyb3235 = yyj3235 > l
	} else {
		yyb3235 = r.CheckBreak()
	}
	if yyb3235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3235++
	if yyhl3235 {
		yyb3235 = yyj3235 > l
	} else {
		yyb3235 = r.CheckBreak()
	}
	if yyb3235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3238 := &x.ObjectMeta
		yyv3238.CodecDecodeSelf(d)
	}
	yyj3235++
	if yyhl3235 {
		yyb3235 = yyj3235 > l
	} else {
		yyb3235 = r.CheckBreak()
	}
	if yyb3235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = LimitRangeSpec{}
	} else {
		yyv3239 := &x.Spec
		yyv3239.CodecDecodeSelf(d)
	}
	for {
		yyj3235++
		if yyhl3235 {
			yyb3235 = yyj3235 > l
		} else {
			yyb3235 = r.CheckBreak()
		}
		if yyb3235 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3235-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRangeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3240 := z.EncBinary()
		_ = yym3240
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3241 := !z.EncBinary()
			yy2arr3241 := z.EncBasicHandle().StructToArray
			var yyq3241 [4]bool
			_, _, _ = yysep3241, yyq3241, yy2arr3241
			const yyr3241 bool = false
			yyq3241[0] = x.Kind != ""
			yyq3241[1] = x.APIVersion != ""
			yyq3241[2] = true
			var yynn3241 int
			if yyr3241 || yy2arr3241 {
				r.EncodeArrayStart(4)
			} else {
				yynn3241 = 1
				for _, b := range yyq3241 {
					if b {
						yynn3241++
					}
				}
				r.EncodeMapStart(yynn3241)
				yynn3241 = 0
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3241[0] {
					yym3243 := z.EncBinary()
					_ = yym3243
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3241[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3244 := z.EncBinary()
					_ = yym3244
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3241[1] {
					yym3246 := z.EncBinary()
					_ = yym3246
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3241[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3247 := z.EncBinary()
					_ = yym3247
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3241[2] {
					yy3249 := &x.ListMeta
					yym3250 := z.EncBinary()
					_ = yym3250
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3249) {
					} else {
						z.EncFallback(yy3249)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3241[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3251 := &x.ListMeta
					yym3252 := z.EncBinary()
					_ = yym3252
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3251) {
					} else {
						z.EncFallback(yy3251)
					}
				}
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3254 := z.EncBinary()
					_ = yym3254
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3255 := z.EncBinary()
					_ = yym3255
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3256 := z.DecBinary()
	_ = yym3256
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3257 := r.ContainerType()
		if yyct3257 == codecSelferValueTypeMap1234 {
			yyl3257 := r.ReadMapStart()
			if yyl3257 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3257, d)
			}
		} else if yyct3257 == codecSelferValueTypeArray1234 {
			yyl3257 := r.ReadArrayStart()
			if yyl3257 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3257, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3258Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3258Slc
	var yyhl3258 bool = l >= 0
	for yyj3258 := 0; ; yyj3258++ {
		if yyhl3258 {
			if yyj3258 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3258Slc = r.DecodeBytes(yys3258Slc, true, true)
		yys3258 := string(yys3258Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3258 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3261 := &x.ListMeta
				yym3262 := z.DecBinary()
				_ = yym3262
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3261) {
				} else {
					z.DecFallback(yyv3261, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3263 := &x.Items
				yym3264 := z.DecBinary()
				_ = yym3264
				if false {
				} else {
					h.decSliceLimitRange((*[]LimitRange)(yyv3263), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3258)
		} // end switch yys3258
	} // end for yyj3258
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3265 int
	var yyb3265 bool
	var yyhl3265 bool = l >= 0
	yyj3265++
	if yyhl3265 {
		yyb3265 = yyj3265 > l
	} else {
		yyb3265 = r.CheckBreak()
	}
	if yyb3265 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3265++
	if yyhl3265 {
		yyb3265 = yyj3265 > l
	} else {
		yyb3265 = r.CheckBreak()
	}
	if yyb3265 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3265++
	if yyhl3265 {
		yyb3265 = yyj3265 > l
	} else {
		yyb3265 = r.CheckBreak()
	}
	if yyb3265 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3268 := &x.ListMeta
		yym3269 := z.DecBinary()
		_ = yym3269
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3268) {
		} else {
			z.DecFallback(yyv3268, false)
		}
	}
	yyj3265++
	if yyhl3265 {
		yyb3265 = yyj3265 > l
	} else {
		yyb3265 = r.CheckBreak()
	}
	if yyb3265 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3270 := &x.Items
		yym3271 := z.DecBinary()
		_ = yym3271
		if false {
		} else {
			h.decSliceLimitRange((*[]LimitRange)(yyv3270), d)
		}
	}
	for {
		yyj3265++
		if yyhl3265 {
			yyb3265 = yyj3265 > l
		} else {
			yyb3265 = r.CheckBreak()
		}
		if yyb3265 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3265-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3272 := z.EncBinary()
		_ = yym3272
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3273 := !z.EncBinary()
			yy2arr3273 := z.EncBasicHandle().StructToArray
			var yyq3273 [1]bool
			_, _, _ = yysep3273, yyq3273, yy2arr3273
			const yyr3273 bool = false
			yyq3273[0] = len(x.Hard) != 0
			var yynn3273 int
			if yyr3273 || yy2arr3273 {
				r.EncodeArrayStart(1)
			} else {
				yynn3273 = 0
				for _, b := range yyq3273 {
					if b {
						yynn3273++
					}
				}
				r.EncodeMapStart(yynn3273)
				yynn3273 = 0
			}
			if yyr3273 || yy2arr3273 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3273[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3273[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3273 || yy2arr3273 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3275 := z.DecBinary()
	_ = yym3275
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3276 := r.ContainerType()
		if yyct3276 == codecSelferValueTypeMap1234 {
			yyl3276 := r.ReadMapStart()
			if yyl3276 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3276, d)
			}
		} else if yyct3276 == codecSelferValueTypeArray1234 {
			yyl3276 := r.ReadArrayStart()
			if yyl3276 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3276, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3277Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3277Slc
	var yyhl3277 bool = l >= 0
	for yyj3277 := 0; ; yyj3277++ {
		if yyhl3277 {
			if yyj3277 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3277Slc = r.DecodeBytes(yys3277Slc, true, true)
		yys3277 := string(yys3277Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3277 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv3278 := &x.Hard
				yyv3278.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3277)
		} // end switch yys3277
	} // end for yyj3277
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3279 int
	var yyb3279 bool
	var yyhl3279 bool = l >= 0
	yyj3279++
	if yyhl3279 {
		yyb3279 = yyj3279 > l
	} else {
		yyb3279 = r.CheckBreak()
	}
	if yyb3279 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv3280 := &x.Hard
		yyv3280.CodecDecodeSelf(d)
	}
	for {
		yyj3279++
		if yyhl3279 {
			yyb3279 = yyj3279 > l
		} else {
			yyb3279 = r.CheckBreak()
		}
		if yyb3279 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3279-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3281 := z.EncBinary()
		_ = yym3281
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3282 := !z.EncBinary()
			yy2arr3282 := z.EncBasicHandle().StructToArray
			var yyq3282 [2]bool
			_, _, _ = yysep3282, yyq3282, yy2arr3282
			const yyr3282 bool = false
			yyq3282[0] = len(x.Hard) != 0
			yyq3282[1] = len(x.Used) != 0
			var yynn3282 int
			if yyr3282 || yy2arr3282 {
				r.EncodeArrayStart(2)
			} else {
				yynn3282 = 0
				for _, b := range yyq3282 {
					if b {
						yynn3282++
					}
				}
				r.EncodeMapStart(yynn3282)
				yynn3282 = 0
			}
			if yyr3282 || yy2arr3282 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3282[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3282[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3282 || yy2arr3282 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3282[1] {
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3282[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("used"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3282 || yy2arr3282 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3285 := z.DecBinary()
	_ = yym3285
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3286 := r.ContainerType()
		if yyct3286 == codecSelferValueTypeMap1234 {
			yyl3286 := r.ReadMapStart()
			if yyl3286 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3286, d)
			}
		} else if yyct3286 == codecSelferValueTypeArray1234 {
			yyl3286 := r.ReadArrayStart()
			if yyl3286 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3286, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3287Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3287Slc
	var yyhl3287 bool = l >= 0
	for yyj3287 := 0; ; yyj3287++ {
		if yyhl3287 {
			if yyj3287 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3287Slc = r.DecodeBytes(yys3287Slc, true, true)
		yys3287 := string(yys3287Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3287 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv3288 := &x.Hard
				yyv3288.CodecDecodeSelf(d)
			}
		case "used":
			if r.TryDecodeAsNil() {
				x.Used = nil
			} else {
				yyv3289 := &x.Used
				yyv3289.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3287)
		} // end switch yys3287
	} // end for yyj3287
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3290 int
	var yyb3290 bool
	var yyhl3290 bool = l >= 0
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv3291 := &x.Hard
		yyv3291.CodecDecodeSelf(d)
	}
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Used = nil
	} else {
		yyv3292 := &x.Used
		yyv3292.CodecDecodeSelf(d)
	}
	for {
		yyj3290++
		if yyhl3290 {
			yyb3290 = yyj3290 > l
		} else {
			yyb3290 = r.CheckBreak()
		}
		if yyb3290 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3290-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuota) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3293 := z.EncBinary()
		_ = yym3293
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3294 := !z.EncBinary()
			yy2arr3294 := z.EncBasicHandle().StructToArray
			var yyq3294 [5]bool
			_, _, _ = yysep3294, yyq3294, yy2arr3294
			const yyr3294 bool = false
			yyq3294[0] = x.Kind != ""
			yyq3294[1] = x.APIVersion != ""
			yyq3294[2] = true
			yyq3294[3] = true
			yyq3294[4] = true
			var yynn3294 int
			if yyr3294 || yy2arr3294 {
				r.EncodeArrayStart(5)
			} else {
				yynn3294 = 0
				for _, b := range yyq3294 {
					if b {
						yynn3294++
					}
				}
				r.EncodeMapStart(yynn3294)
				yynn3294 = 0
			}
			if yyr3294 || yy2arr3294 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3294[0] {
					yym3296 := z.EncBinary()
					_ = yym3296
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3294[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3297 := z.EncBinary()
					_ = yym3297
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3294 || yy2arr3294 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3294[1] {
					yym3299 := z.EncBinary()
					_ = yym3299
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3294[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3300 := z.EncBinary()
					_ = yym3300
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3294 || yy2arr3294 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3294[2] {
					yy3302 := &x.ObjectMeta
					yy3302.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3294[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3303 := &x.ObjectMeta
					yy3303.CodecEncodeSelf(e)
				}
			}
			if yyr3294 || yy2arr3294 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3294[3] {
					yy3305 := &x.Spec
					yy3305.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3294[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3306 := &x.Spec
					yy3306.CodecEncodeSelf(e)
				}
			}
			if yyr3294 || yy2arr3294 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3294[4] {
					yy3308 := &x.Status
					yy3308.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3294[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3309 := &x.Status
					yy3309.CodecEncodeSelf(e)
				}
			}
			if yyr3294 || yy2arr3294 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuota) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3310 := z.DecBinary()
	_ = yym3310
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3311 := r.ContainerType()
		if yyct3311 == codecSelferValueTypeMap1234 {
			yyl3311 := r.ReadMapStart()
			if yyl3311 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3311, d)
			}
		} else if yyct3311 == codecSelferValueTypeArray1234 {
			yyl3311 := r.ReadArrayStart()
			if yyl3311 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3311, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuota) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3312Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3312Slc
	var yyhl3312 bool = l >= 0
	for yyj3312 := 0; ; yyj3312++ {
		if yyhl3312 {
			if yyj3312 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3312Slc = r.DecodeBytes(yys3312Slc, true, true)
		yys3312 := string(yys3312Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3312 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3315 := &x.ObjectMeta
				yyv3315.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ResourceQuotaSpec{}
			} else {
				yyv3316 := &x.Spec
				yyv3316.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ResourceQuotaStatus{}
			} else {
				yyv3317 := &x.Status
				yyv3317.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3312)
		} // end switch yys3312
	} // end for yyj3312
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuota) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3318 int
	var yyb3318 bool
	var yyhl3318 bool = l >= 0
	yyj3318++
	if yyhl3318 {
		yyb3318 = yyj3318 > l
	} else {
		yyb3318 = r.CheckBreak()
	}
	if yyb3318 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3318++
	if yyhl3318 {
		yyb3318 = yyj3318 > l
	} else {
		yyb3318 = r.CheckBreak()
	}
	if yyb3318 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3318++
	if yyhl3318 {
		yyb3318 = yyj3318 > l
	} else {
		yyb3318 = r.CheckBreak()
	}
	if yyb3318 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3321 := &x.ObjectMeta
		yyv3321.CodecDecodeSelf(d)
	}
	yyj3318++
	if yyhl3318 {
		yyb3318 = yyj3318 > l
	} else {
		yyb3318 = r.CheckBreak()
	}
	if yyb3318 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ResourceQuotaSpec{}
	} else {
		yyv3322 := &x.Spec
		yyv3322.CodecDecodeSelf(d)
	}
	yyj3318++
	if yyhl3318 {
		yyb3318 = yyj3318 > l
	} else {
		yyb3318 = r.CheckBreak()
	}
	if yyb3318 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ResourceQuotaStatus{}
	} else {
		yyv3323 := &x.Status
		yyv3323.CodecDecodeSelf(d)
	}
	for {
		yyj3318++
		if yyhl3318 {
			yyb3318 = yyj3318 > l
		} else {
			yyb3318 = r.CheckBreak()
		}
		if yyb3318 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3318-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3324 := z.EncBinary()
		_ = yym3324
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3325 := !z.EncBinary()
			yy2arr3325 := z.EncBasicHandle().StructToArray
			var yyq3325 [4]bool
			_, _, _ = yysep3325, yyq3325, yy2arr3325
			const yyr3325 bool = false
			yyq3325[0] = x.Kind != ""
			yyq3325[1] = x.APIVersion != ""
			yyq3325[2] = true
			var yynn3325 int
			if yyr3325 || yy2arr3325 {
				r.EncodeArrayStart(4)
			} else {
				yynn3325 = 1
				for _, b := range yyq3325 {
					if b {
						yynn3325++
					}
				}
				r.EncodeMapStart(yynn3325)
				yynn3325 = 0
			}
			if yyr3325 || yy2arr3325 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3325[0] {
					yym3327 := z.EncBinary()
					_ = yym3327
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3325[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3328 := z.EncBinary()
					_ = yym3328
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3325 || yy2arr3325 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3325[1] {
					yym3330 := z.EncBinary()
					_ = yym3330
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3325[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3331 := z.EncBinary()
					_ = yym3331
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3325 || yy2arr3325 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3325[2] {
					yy3333 := &x.ListMeta
					yym3334 := z.EncBinary()
					_ = yym3334
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3333) {
					} else {
						z.EncFallback(yy3333)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3325[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3335 := &x.ListMeta
					yym3336 := z.EncBinary()
					_ = yym3336
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3335) {
					} else {
						z.EncFallback(yy3335)
					}
				}
			}
			if yyr3325 || yy2arr3325 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3338 := z.EncBinary()
					_ = yym3338
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3339 := z.EncBinary()
					_ = yym3339
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			}
			if yyr3325 || yy2arr3325 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3340 := z.DecBinary()
	_ = yym3340
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3341 := r.ContainerType()
		if yyct3341 == codecSelferValueTypeMap1234 {
			yyl3341 := r.ReadMapStart()
			if yyl3341 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3341, d)
			}
		} else if yyct3341 == codecSelferValueTypeArray1234 {
			yyl3341 := r.ReadArrayStart()
			if yyl3341 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3341, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3342Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3342Slc
	var yyhl3342 bool = l >= 0
	for yyj3342 := 0; ; yyj3342++ {
		if yyhl3342 {
			if yyj3342 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3342Slc = r.DecodeBytes(yys3342Slc, true, true)
		yys3342 := string(yys3342Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3342 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3345 := &x.ListMeta
				yym3346 := z.DecBinary()
				_ = yym3346
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3345) {
				} else {
					z.DecFallback(yyv3345, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3347 := &x.Items
				yym3348 := z.DecBinary()
				_ = yym3348
				if false {
				} else {
					h.decSliceResourceQuota((*[]ResourceQuota)(yyv3347), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3342)
		} // end switch yys3342
	} // end for yyj3342
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3349 int
	var yyb3349 bool
	var yyhl3349 bool = l >= 0
	yyj3349++
	if yyhl3349 {
		yyb3349 = yyj3349 > l
	} else {
		yyb3349 = r.CheckBreak()
	}
	if yyb3349 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3349++
	if yyhl3349 {
		yyb3349 = yyj3349 > l
	} else {
		yyb3349 = r.CheckBreak()
	}
	if yyb3349 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3349++
	if yyhl3349 {
		yyb3349 = yyj3349 > l
	} else {
		yyb3349 = r.CheckBreak()
	}
	if yyb3349 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3352 := &x.ListMeta
		yym3353 := z.DecBinary()
		_ = yym3353
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3352) {
		} else {
			z.DecFallback(yyv3352, false)
		}
	}
	yyj3349++
	if yyhl3349 {
		yyb3349 = yyj3349 > l
	} else {
		yyb3349 = r.CheckBreak()
	}
	if yyb3349 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3354 := &x.Items
		yym3355 := z.DecBinary()
		_ = yym3355
		if false {
		} else {
			h.decSliceResourceQuota((*[]ResourceQuota)(yyv3354), d)
		}
	}
	for {
		yyj3349++
		if yyhl3349 {
			yyb3349 = yyj3349 > l
		} else {
			yyb3349 = r.CheckBreak()
		}
		if yyb3349 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3349-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Secret) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3356 := z.EncBinary()
		_ = yym3356
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3357 := !z.EncBinary()
			yy2arr3357 := z.EncBasicHandle().StructToArray
			var yyq3357 [5]bool
			_, _, _ = yysep3357, yyq3357, yy2arr3357
			const yyr3357 bool = false
			yyq3357[0] = x.Kind != ""
			yyq3357[1] = x.APIVersion != ""
			yyq3357[2] = true
			yyq3357[3] = len(x.Data) != 0
			yyq3357[4] = x.Type != ""
			var yynn3357 int
			if yyr3357 || yy2arr3357 {
				r.EncodeArrayStart(5)
			} else {
				yynn3357 = 0
				for _, b := range yyq3357 {
					if b {
						yynn3357++
					}
				}
				r.EncodeMapStart(yynn3357)
				yynn3357 = 0
			}
			if yyr3357 || yy2arr3357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3357[0] {
					yym3359 := z.EncBinary()
					_ = yym3359
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3357[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3360 := z.EncBinary()
					_ = yym3360
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3357 || yy2arr3357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3357[1] {
					yym3362 := z.EncBinary()
					_ = yym3362
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3357[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3363 := z.EncBinary()
					_ = yym3363
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3357 || yy2arr3357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3357[2] {
					yy3365 := &x.ObjectMeta
					yy3365.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3357[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3366 := &x.ObjectMeta
					yy3366.CodecEncodeSelf(e)
				}
			}
			if yyr3357 || yy2arr3357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3357[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym3368 := z.EncBinary()
						_ = yym3368
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3357[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym3369 := z.EncBinary()
						_ = yym3369
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				}
			}
			if yyr3357 || yy2arr3357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3357[4] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3357[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr3357 || yy2arr3357 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Secret) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3371 := z.DecBinary()
	_ = yym3371
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3372 := r.ContainerType()
		if yyct3372 == codecSelferValueTypeMap1234 {
			yyl3372 := r.ReadMapStart()
			if yyl3372 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3372, d)
			}
		} else if yyct3372 == codecSelferValueTypeArray1234 {
			yyl3372 := r.ReadArrayStart()
			if yyl3372 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3372, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Secret) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3373Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3373Slc
	var yyhl3373 bool = l >= 0
	for yyj3373 := 0; ; yyj3373++ {
		if yyhl3373 {
			if yyj3373 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3373Slc = r.DecodeBytes(yys3373Slc, true, true)
		yys3373 := string(yys3373Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3373 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3376 := &x.ObjectMeta
				yyv3376.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv3377 := &x.Data
				yym3378 := z.DecBinary()
				_ = yym3378
				if false {
				} else {
					h.decMapstringSliceuint8((*map[string][]uint8)(yyv3377), d)
				}
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = SecretType(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3373)
		} // end switch yys3373
	} // end for yyj3373
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Secret) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3380 int
	var yyb3380 bool
	var yyhl3380 bool = l >= 0
	yyj3380++
	if yyhl3380 {
		yyb3380 = yyj3380 > l
	} else {
		yyb3380 = r.CheckBreak()
	}
	if yyb3380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3380++
	if yyhl3380 {
		yyb3380 = yyj3380 > l
	} else {
		yyb3380 = r.CheckBreak()
	}
	if yyb3380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3380++
	if yyhl3380 {
		yyb3380 = yyj3380 > l
	} else {
		yyb3380 = r.CheckBreak()
	}
	if yyb3380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3383 := &x.ObjectMeta
		yyv3383.CodecDecodeSelf(d)
	}
	yyj3380++
	if yyhl3380 {
		yyb3380 = yyj3380 > l
	} else {
		yyb3380 = r.CheckBreak()
	}
	if yyb3380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv3384 := &x.Data
		yym3385 := z.DecBinary()
		_ = yym3385
		if false {
		} else {
			h.decMapstringSliceuint8((*map[string][]uint8)(yyv3384), d)
		}
	}
	yyj3380++
	if yyhl3380 {
		yyb3380 = yyj3380 > l
	} else {
		yyb3380 = r.CheckBreak()
	}
	if yyb3380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = SecretType(r.DecodeString())
	}
	for {
		yyj3380++
		if yyhl3380 {
			yyb3380 = yyj3380 > l
		} else {
			yyb3380 = r.CheckBreak()
		}
		if yyb3380 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3380-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x SecretType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3387 := z.EncBinary()
	_ = yym3387
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *SecretType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3388 := z.DecBinary()
	_ = yym3388
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *SecretList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3389 := z.EncBinary()
		_ = yym3389
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3390 := !z.EncBinary()
			yy2arr3390 := z.EncBasicHandle().StructToArray
			var yyq3390 [4]bool
			_, _, _ = yysep3390, yyq3390, yy2arr3390
			const yyr3390 bool = false
			yyq3390[0] = x.Kind != ""
			yyq3390[1] = x.APIVersion != ""
			yyq3390[2] = true
			var yynn3390 int
			if yyr3390 || yy2arr3390 {
				r.EncodeArrayStart(4)
			} else {
				yynn3390 = 1
				for _, b := range yyq3390 {
					if b {
						yynn3390++
					}
				}
				r.EncodeMapStart(yynn3390)
				yynn3390 = 0
			}
			if yyr3390 || yy2arr3390 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3390[0] {
					yym3392 := z.EncBinary()
					_ = yym3392
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3390[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3393 := z.EncBinary()
					_ = yym3393
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3390 || yy2arr3390 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3390[1] {
					yym3395 := z.EncBinary()
					_ = yym3395
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3390[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3396 := z.EncBinary()
					_ = yym3396
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3390 || yy2arr3390 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3390[2] {
					yy3398 := &x.ListMeta
					yym3399 := z.EncBinary()
					_ = yym3399
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3398) {
					} else {
						z.EncFallback(yy3398)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3390[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3400 := &x.ListMeta
					yym3401 := z.EncBinary()
					_ = yym3401
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3400) {
					} else {
						z.EncFallback(yy3400)
					}
				}
			}
			if yyr3390 || yy2arr3390 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3403 := z.EncBinary()
					_ = yym3403
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3404 := z.EncBinary()
					_ = yym3404
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			}
			if yyr3390 || yy2arr3390 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3405 := z.DecBinary()
	_ = yym3405
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3406 := r.ContainerType()
		if yyct3406 == codecSelferValueTypeMap1234 {
			yyl3406 := r.ReadMapStart()
			if yyl3406 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3406, d)
			}
		} else if yyct3406 == codecSelferValueTypeArray1234 {
			yyl3406 := r.ReadArrayStart()
			if yyl3406 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3406, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3407Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3407Slc
	var yyhl3407 bool = l >= 0
	for yyj3407 := 0; ; yyj3407++ {
		if yyhl3407 {
			if yyj3407 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3407Slc = r.DecodeBytes(yys3407Slc, true, true)
		yys3407 := string(yys3407Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3407 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3410 := &x.ListMeta
				yym3411 := z.DecBinary()
				_ = yym3411
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3410) {
				} else {
					z.DecFallback(yyv3410, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3412 := &x.Items
				yym3413 := z.DecBinary()
				_ = yym3413
				if false {
				} else {
					h.decSliceSecret((*[]Secret)(yyv3412), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3407)
		} // end switch yys3407
	} // end for yyj3407
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3414 int
	var yyb3414 bool
	var yyhl3414 bool = l >= 0
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3417 := &x.ListMeta
		yym3418 := z.DecBinary()
		_ = yym3418
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3417) {
		} else {
			z.DecFallback(yyv3417, false)
		}
	}
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3419 := &x.Items
		yym3420 := z.DecBinary()
		_ = yym3420
		if false {
		} else {
			h.decSliceSecret((*[]Secret)(yyv3419), d)
		}
	}
	for {
		yyj3414++
		if yyhl3414 {
			yyb3414 = yyj3414 > l
		} else {
			yyb3414 = r.CheckBreak()
		}
		if yyb3414 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3414-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ComponentConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3421 := z.EncBinary()
	_ = yym3421
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ComponentConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3422 := z.DecBinary()
	_ = yym3422
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ComponentCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3423 := z.EncBinary()
		_ = yym3423
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3424 := !z.EncBinary()
			yy2arr3424 := z.EncBasicHandle().StructToArray
			var yyq3424 [4]bool
			_, _, _ = yysep3424, yyq3424, yy2arr3424
			const yyr3424 bool = false
			yyq3424[2] = x.Message != ""
			yyq3424[3] = x.Error != ""
			var yynn3424 int
			if yyr3424 || yy2arr3424 {
				r.EncodeArrayStart(4)
			} else {
				yynn3424 = 2
				for _, b := range yyq3424 {
					if b {
						yynn3424++
					}
				}
				r.EncodeMapStart(yynn3424)
				yynn3424 = 0
			}
			if yyr3424 || yy2arr3424 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr3424 || yy2arr3424 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr3424 || yy2arr3424 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3424[2] {
					yym3428 := z.EncBinary()
					_ = yym3428
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3424[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3429 := z.EncBinary()
					_ = yym3429
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3424 || yy2arr3424 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3424[3] {
					yym3431 := z.EncBinary()
					_ = yym3431
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3424[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("error"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3432 := z.EncBinary()
					_ = yym3432
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				}
			}
			if yyr3424 || yy2arr3424 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3433 := z.DecBinary()
	_ = yym3433
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3434 := r.ContainerType()
		if yyct3434 == codecSelferValueTypeMap1234 {
			yyl3434 := r.ReadMapStart()
			if yyl3434 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3434, d)
			}
		} else if yyct3434 == codecSelferValueTypeArray1234 {
			yyl3434 := r.ReadArrayStart()
			if yyl3434 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3434, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3435Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3435Slc
	var yyhl3435 bool = l >= 0
	for yyj3435 := 0; ; yyj3435++ {
		if yyhl3435 {
			if yyj3435 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3435Slc = r.DecodeBytes(yys3435Slc, true, true)
		yys3435 := string(yys3435Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3435 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ComponentConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "error":
			if r.TryDecodeAsNil() {
				x.Error = ""
			} else {
				x.Error = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3435)
		} // end switch yys3435
	} // end for yyj3435
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3440 int
	var yyb3440 bool
	var yyhl3440 bool = l >= 0
	yyj3440++
	if yyhl3440 {
		yyb3440 = yyj3440 > l
	} else {
		yyb3440 = r.CheckBreak()
	}
	if yyb3440 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ComponentConditionType(r.DecodeString())
	}
	yyj3440++
	if yyhl3440 {
		yyb3440 = yyj3440 > l
	} else {
		yyb3440 = r.CheckBreak()
	}
	if yyb3440 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj3440++
	if yyhl3440 {
		yyb3440 = yyj3440 > l
	} else {
		yyb3440 = r.CheckBreak()
	}
	if yyb3440 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj3440++
	if yyhl3440 {
		yyb3440 = yyj3440 > l
	} else {
		yyb3440 = r.CheckBreak()
	}
	if yyb3440 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Error = ""
	} else {
		x.Error = string(r.DecodeString())
	}
	for {
		yyj3440++
		if yyhl3440 {
			yyb3440 = yyj3440 > l
		} else {
			yyb3440 = r.CheckBreak()
		}
		if yyb3440 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3440-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ComponentStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3445 := z.EncBinary()
		_ = yym3445
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3446 := !z.EncBinary()
			yy2arr3446 := z.EncBasicHandle().StructToArray
			var yyq3446 [4]bool
			_, _, _ = yysep3446, yyq3446, yy2arr3446
			const yyr3446 bool = false
			yyq3446[0] = x.Kind != ""
			yyq3446[1] = x.APIVersion != ""
			yyq3446[2] = true
			yyq3446[3] = len(x.Conditions) != 0
			var yynn3446 int
			if yyr3446 || yy2arr3446 {
				r.EncodeArrayStart(4)
			} else {
				yynn3446 = 0
				for _, b := range yyq3446 {
					if b {
						yynn3446++
					}
				}
				r.EncodeMapStart(yynn3446)
				yynn3446 = 0
			}
			if yyr3446 || yy2arr3446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3446[0] {
					yym3448 := z.EncBinary()
					_ = yym3448
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3446[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3449 := z.EncBinary()
					_ = yym3449
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3446 || yy2arr3446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3446[1] {
					yym3451 := z.EncBinary()
					_ = yym3451
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3446[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3452 := z.EncBinary()
					_ = yym3452
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3446 || yy2arr3446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3446[2] {
					yy3454 := &x.ObjectMeta
					yy3454.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3446[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3455 := &x.ObjectMeta
					yy3455.CodecEncodeSelf(e)
				}
			}
			if yyr3446 || yy2arr3446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3446[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3457 := z.EncBinary()
						_ = yym3457
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3446[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3458 := z.EncBinary()
						_ = yym3458
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr3446 || yy2arr3446 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3459 := z.DecBinary()
	_ = yym3459
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3460 := r.ContainerType()
		if yyct3460 == codecSelferValueTypeMap1234 {
			yyl3460 := r.ReadMapStart()
			if yyl3460 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3460, d)
			}
		} else if yyct3460 == codecSelferValueTypeArray1234 {
			yyl3460 := r.ReadArrayStart()
			if yyl3460 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3460, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3461Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3461Slc
	var yyhl3461 bool = l >= 0
	for yyj3461 := 0; ; yyj3461++ {
		if yyhl3461 {
			if yyj3461 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3461Slc = r.DecodeBytes(yys3461Slc, true, true)
		yys3461 := string(yys3461Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3461 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3464 := &x.ObjectMeta
				yyv3464.CodecDecodeSelf(d)
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv3465 := &x.Conditions
				yym3466 := z.DecBinary()
				_ = yym3466
				if false {
				} else {
					h.decSliceComponentCondition((*[]ComponentCondition)(yyv3465), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3461)
		} // end switch yys3461
	} // end for yyj3461
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3467 int
	var yyb3467 bool
	var yyhl3467 bool = l >= 0
	yyj3467++
	if yyhl3467 {
		yyb3467 = yyj3467 > l
	} else {
		yyb3467 = r.CheckBreak()
	}
	if yyb3467 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3467++
	if yyhl3467 {
		yyb3467 = yyj3467 > l
	} else {
		yyb3467 = r.CheckBreak()
	}
	if yyb3467 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3467++
	if yyhl3467 {
		yyb3467 = yyj3467 > l
	} else {
		yyb3467 = r.CheckBreak()
	}
	if yyb3467 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3470 := &x.ObjectMeta
		yyv3470.CodecDecodeSelf(d)
	}
	yyj3467++
	if yyhl3467 {
		yyb3467 = yyj3467 > l
	} else {
		yyb3467 = r.CheckBreak()
	}
	if yyb3467 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv3471 := &x.Conditions
		yym3472 := z.DecBinary()
		_ = yym3472
		if false {
		} else {
			h.decSliceComponentCondition((*[]ComponentCondition)(yyv3471), d)
		}
	}
	for {
		yyj3467++
		if yyhl3467 {
			yyb3467 = yyj3467 > l
		} else {
			yyb3467 = r.CheckBreak()
		}
		if yyb3467 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3467-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ComponentStatusList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3473 := z.EncBinary()
		_ = yym3473
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3474 := !z.EncBinary()
			yy2arr3474 := z.EncBasicHandle().StructToArray
			var yyq3474 [4]bool
			_, _, _ = yysep3474, yyq3474, yy2arr3474
			const yyr3474 bool = false
			yyq3474[0] = x.Kind != ""
			yyq3474[1] = x.APIVersion != ""
			yyq3474[2] = true
			var yynn3474 int
			if yyr3474 || yy2arr3474 {
				r.EncodeArrayStart(4)
			} else {
				yynn3474 = 1
				for _, b := range yyq3474 {
					if b {
						yynn3474++
					}
				}
				r.EncodeMapStart(yynn3474)
				yynn3474 = 0
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[0] {
					yym3476 := z.EncBinary()
					_ = yym3476
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3474[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3477 := z.EncBinary()
					_ = yym3477
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[1] {
					yym3479 := z.EncBinary()
					_ = yym3479
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3474[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3480 := z.EncBinary()
					_ = yym3480
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[2] {
					yy3482 := &x.ListMeta
					yym3483 := z.EncBinary()
					_ = yym3483
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3482) {
					} else {
						z.EncFallback(yy3482)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3474[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3484 := &x.ListMeta
					yym3485 := z.EncBinary()
					_ = yym3485
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3484) {
					} else {
						z.EncFallback(yy3484)
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3487 := z.EncBinary()
					_ = yym3487
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3488 := z.EncBinary()
					_ = yym3488
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentStatusList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3489 := z.DecBinary()
	_ = yym3489
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3490 := r.ContainerType()
		if yyct3490 == codecSelferValueTypeMap1234 {
			yyl3490 := r.ReadMapStart()
			if yyl3490 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3490, d)
			}
		} else if yyct3490 == codecSelferValueTypeArray1234 {
			yyl3490 := r.ReadArrayStart()
			if yyl3490 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3490, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatusList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3491Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3491Slc
	var yyhl3491 bool = l >= 0
	for yyj3491 := 0; ; yyj3491++ {
		if yyhl3491 {
			if yyj3491 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3491Slc = r.DecodeBytes(yys3491Slc, true, true)
		yys3491 := string(yys3491Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3491 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3494 := &x.ListMeta
				yym3495 := z.DecBinary()
				_ = yym3495
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3494) {
				} else {
					z.DecFallback(yyv3494, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3496 := &x.Items
				yym3497 := z.DecBinary()
				_ = yym3497
				if false {
				} else {
					h.decSliceComponentStatus((*[]ComponentStatus)(yyv3496), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3491)
		} // end switch yys3491
	} // end for yyj3491
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentStatusList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3498 int
	var yyb3498 bool
	var yyhl3498 bool = l >= 0
	yyj3498++
	if yyhl3498 {
		yyb3498 = yyj3498 > l
	} else {
		yyb3498 = r.CheckBreak()
	}
	if yyb3498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3498++
	if yyhl3498 {
		yyb3498 = yyj3498 > l
	} else {
		yyb3498 = r.CheckBreak()
	}
	if yyb3498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3498++
	if yyhl3498 {
		yyb3498 = yyj3498 > l
	} else {
		yyb3498 = r.CheckBreak()
	}
	if yyb3498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3501 := &x.ListMeta
		yym3502 := z.DecBinary()
		_ = yym3502
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3501) {
		} else {
			z.DecFallback(yyv3501, false)
		}
	}
	yyj3498++
	if yyhl3498 {
		yyb3498 = yyj3498 > l
	} else {
		yyb3498 = r.CheckBreak()
	}
	if yyb3498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3503 := &x.Items
		yym3504 := z.DecBinary()
		_ = yym3504
		if false {
		} else {
			h.decSliceComponentStatus((*[]ComponentStatus)(yyv3503), d)
		}
	}
	for {
		yyj3498++
		if yyhl3498 {
			yyb3498 = yyj3498 > l
		} else {
			yyb3498 = r.CheckBreak()
		}
		if yyb3498 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3498-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DownwardAPIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3505 := z.EncBinary()
		_ = yym3505
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3506 := !z.EncBinary()
			yy2arr3506 := z.EncBasicHandle().StructToArray
			var yyq3506 [1]bool
			_, _, _ = yysep3506, yyq3506, yy2arr3506
			const yyr3506 bool = false
			yyq3506[0] = len(x.Items) != 0
			var yynn3506 int
			if yyr3506 || yy2arr3506 {
				r.EncodeArrayStart(1)
			} else {
				yynn3506 = 0
				for _, b := range yyq3506 {
					if b {
						yynn3506++
					}
				}
				r.EncodeMapStart(yynn3506)
				yynn3506 = 0
			}
			if yyr3506 || yy2arr3506 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3506[0] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym3508 := z.EncBinary()
						_ = yym3508
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3506[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym3509 := z.EncBinary()
						_ = yym3509
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				}
			}
			if yyr3506 || yy2arr3506 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DownwardAPIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3510 := z.DecBinary()
	_ = yym3510
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3511 := r.ContainerType()
		if yyct3511 == codecSelferValueTypeMap1234 {
			yyl3511 := r.ReadMapStart()
			if yyl3511 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3511, d)
			}
		} else if yyct3511 == codecSelferValueTypeArray1234 {
			yyl3511 := r.ReadArrayStart()
			if yyl3511 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3511, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3512Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3512Slc
	var yyhl3512 bool = l >= 0
	for yyj3512 := 0; ; yyj3512++ {
		if yyhl3512 {
			if yyj3512 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3512Slc = r.DecodeBytes(yys3512Slc, true, true)
		yys3512 := string(yys3512Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3512 {
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3513 := &x.Items
				yym3514 := z.DecBinary()
				_ = yym3514
				if false {
				} else {
					h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv3513), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3512)
		} // end switch yys3512
	} // end for yyj3512
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3515 int
	var yyb3515 bool
	var yyhl3515 bool = l >= 0
	yyj3515++
	if yyhl3515 {
		yyb3515 = yyj3515 > l
	} else {
		yyb3515 = r.CheckBreak()
	}
	if yyb3515 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3516 := &x.Items
		yym3517 := z.DecBinary()
		_ = yym3517
		if false {
		} else {
			h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv3516), d)
		}
	}
	for {
		yyj3515++
		if yyhl3515 {
			yyb3515 = yyj3515 > l
		} else {
			yyb3515 = r.CheckBreak()
		}
		if yyb3515 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3515-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DownwardAPIVolumeFile) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3518 := z.EncBinary()
		_ = yym3518
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3519 := !z.EncBinary()
			yy2arr3519 := z.EncBasicHandle().StructToArray
			var yyq3519 [2]bool
			_, _, _ = yysep3519, yyq3519, yy2arr3519
			const yyr3519 bool = false
			var yynn3519 int
			if yyr3519 || yy2arr3519 {
				r.EncodeArrayStart(2)
			} else {
				yynn3519 = 2
				for _, b := range yyq3519 {
					if b {
						yynn3519++
					}
				}
				r.EncodeMapStart(yynn3519)
				yynn3519 = 0
			}
			if yyr3519 || yy2arr3519 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3521 := z.EncBinary()
				_ = yym3521
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3522 := z.EncBinary()
				_ = yym3522
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3519 || yy2arr3519 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3524 := &x.FieldRef
				yy3524.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3525 := &x.FieldRef
				yy3525.CodecEncodeSelf(e)
			}
			if yyr3519 || yy2arr3519 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DownwardAPIVolumeFile) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3526 := z.DecBinary()
	_ = yym3526
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3527 := r.ContainerType()
		if yyct3527 == codecSelferValueTypeMap1234 {
			yyl3527 := r.ReadMapStart()
			if yyl3527 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3527, d)
			}
		} else if yyct3527 == codecSelferValueTypeArray1234 {
			yyl3527 := r.ReadArrayStart()
			if yyl3527 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3527, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3528Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3528Slc
	var yyhl3528 bool = l >= 0
	for yyj3528 := 0; ; yyj3528++ {
		if yyhl3528 {
			if yyj3528 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3528Slc = r.DecodeBytes(yys3528Slc, true, true)
		yys3528 := string(yys3528Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3528 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "fieldRef":
			if r.TryDecodeAsNil() {
				x.FieldRef = ObjectFieldSelector{}
			} else {
				yyv3530 := &x.FieldRef
				yyv3530.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3528)
		} // end switch yys3528
	} // end for yyj3528
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3531 int
	var yyb3531 bool
	var yyhl3531 bool = l >= 0
	yyj3531++
	if yyhl3531 {
		yyb3531 = yyj3531 > l
	} else {
		yyb3531 = r.CheckBreak()
	}
	if yyb3531 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj3531++
	if yyhl3531 {
		yyb3531 = yyj3531 > l
	} else {
		yyb3531 = r.CheckBreak()
	}
	if yyb3531 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldRef = ObjectFieldSelector{}
	} else {
		yyv3533 := &x.FieldRef
		yyv3533.CodecDecodeSelf(d)
	}
	for {
		yyj3531++
		if yyhl3531 {
			yyb3531 = yyj3531 > l
		} else {
			yyb3531 = r.CheckBreak()
		}
		if yyb3531 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3531-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3534 := z.EncBinary()
		_ = yym3534
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3535 := !z.EncBinary()
			yy2arr3535 := z.EncBasicHandle().StructToArray
			var yyq3535 [5]bool
			_, _, _ = yysep3535, yyq3535, yy2arr3535
			const yyr3535 bool = false
			yyq3535[0] = x.Capabilities != nil
			yyq3535[1] = x.Privileged != nil
			yyq3535[2] = x.SELinuxOptions != nil
			yyq3535[3] = x.RunAsUser != nil
			yyq3535[4] = x.RunAsNonRoot != nil
			var yynn3535 int
			if yyr3535 || yy2arr3535 {
				r.EncodeArrayStart(5)
			} else {
				yynn3535 = 0
				for _, b := range yyq3535 {
					if b {
						yynn3535++
					}
				}
				r.EncodeMapStart(yynn3535)
				yynn3535 = 0
			}
			if yyr3535 || yy2arr3535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3535[0] {
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3535[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capabilities"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3535 || yy2arr3535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3535[1] {
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy3538 := *x.Privileged
						yym3539 := z.EncBinary()
						_ = yym3539
						if false {
						} else {
							r.EncodeBool(bool(yy3538))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3535[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("privileged"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy3540 := *x.Privileged
						yym3541 := z.EncBinary()
						_ = yym3541
						if false {
						} else {
							r.EncodeBool(bool(yy3540))
						}
					}
				}
			}
			if yyr3535 || yy2arr3535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3535[2] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3535[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3535 || yy2arr3535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3535[3] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy3544 := *x.RunAsUser
						yym3545 := z.EncBinary()
						_ = yym3545
						if false {
						} else {
							r.EncodeInt(int64(yy3544))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3535[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy3546 := *x.RunAsUser
						yym3547 := z.EncBinary()
						_ = yym3547
						if false {
						} else {
							r.EncodeInt(int64(yy3546))
						}
					}
				}
			}
			if yyr3535 || yy2arr3535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3535[4] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy3549 := *x.RunAsNonRoot
						yym3550 := z.EncBinary()
						_ = yym3550
						if false {
						} else {
							r.EncodeBool(bool(yy3549))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3535[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy3551 := *x.RunAsNonRoot
						yym3552 := z.EncBinary()
						_ = yym3552
						if false {
						} else {
							r.EncodeBool(bool(yy3551))
						}
					}
				}
			}
			if yyr3535 || yy2arr3535 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3553 := z.DecBinary()
	_ = yym3553
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3554 := r.ContainerType()
		if yyct3554 == codecSelferValueTypeMap1234 {
			yyl3554 := r.ReadMapStart()
			if yyl3554 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3554, d)
			}
		} else if yyct3554 == codecSelferValueTypeArray1234 {
			yyl3554 := r.ReadArrayStart()
			if yyl3554 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3554, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3555Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3555Slc
	var yyhl3555 bool = l >= 0
	for yyj3555 := 0; ; yyj3555++ {
		if yyhl3555 {
			if yyj3555 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3555Slc = r.DecodeBytes(yys3555Slc, true, true)
		yys3555 := string(yys3555Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3555 {
		case "capabilities":
			if r.TryDecodeAsNil() {
				if x.Capabilities != nil {
					x.Capabilities = nil
				}
			} else {
				if x.Capabilities == nil {
					x.Capabilities = new(Capabilities)
				}
				x.Capabilities.CodecDecodeSelf(d)
			}
		case "privileged":
			if r.TryDecodeAsNil() {
				if x.Privileged != nil {
					x.Privileged = nil
				}
			} else {
				if x.Privileged == nil {
					x.Privileged = new(bool)
				}
				yym3558 := z.DecBinary()
				_ = yym3558
				if false {
				} else {
					*((*bool)(x.Privileged)) = r.DecodeBool()
				}
			}
		case "seLinuxOptions":
			if r.TryDecodeAsNil() {
				if x.SELinuxOptions != nil {
					x.SELinuxOptions = nil
				}
			} else {
				if x.SELinuxOptions == nil {
					x.SELinuxOptions = new(SELinuxOptions)
				}
				x.SELinuxOptions.CodecDecodeSelf(d)
			}
		case "runAsUser":
			if r.TryDecodeAsNil() {
				if x.RunAsUser != nil {
					x.RunAsUser = nil
				}
			} else {
				if x.RunAsUser == nil {
					x.RunAsUser = new(int64)
				}
				yym3561 := z.DecBinary()
				_ = yym3561
				if false {
				} else {
					*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
				}
			}
		case "runAsNonRoot":
			if r.TryDecodeAsNil() {
				if x.RunAsNonRoot != nil {
					x.RunAsNonRoot = nil
				}
			} else {
				if x.RunAsNonRoot == nil {
					x.RunAsNonRoot = new(bool)
				}
				yym3563 := z.DecBinary()
				_ = yym3563
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3555)
		} // end switch yys3555
	} // end for yyj3555
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3564 int
	var yyb3564 bool
	var yyhl3564 bool = l >= 0
	yyj3564++
	if yyhl3564 {
		yyb3564 = yyj3564 > l
	} else {
		yyb3564 = r.CheckBreak()
	}
	if yyb3564 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Capabilities != nil {
			x.Capabilities = nil
		}
	} else {
		if x.Capabilities == nil {
			x.Capabilities = new(Capabilities)
		}
		x.Capabilities.CodecDecodeSelf(d)
	}
	yyj3564++
	if yyhl3564 {
		yyb3564 = yyj3564 > l
	} else {
		yyb3564 = r.CheckBreak()
	}
	if yyb3564 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Privileged != nil {
			x.Privileged = nil
		}
	} else {
		if x.Privileged == nil {
			x.Privileged = new(bool)
		}
		yym3567 := z.DecBinary()
		_ = yym3567
		if false {
		} else {
			*((*bool)(x.Privileged)) = r.DecodeBool()
		}
	}
	yyj3564++
	if yyhl3564 {
		yyb3564 = yyj3564 > l
	} else {
		yyb3564 = r.CheckBreak()
	}
	if yyb3564 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj3564++
	if yyhl3564 {
		yyb3564 = yyj3564 > l
	} else {
		yyb3564 = r.CheckBreak()
	}
	if yyb3564 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym3570 := z.DecBinary()
		_ = yym3570
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj3564++
	if yyhl3564 {
		yyb3564 = yyj3564 > l
	} else {
		yyb3564 = r.CheckBreak()
	}
	if yyb3564 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym3572 := z.DecBinary()
		_ = yym3572
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	for {
		yyj3564++
		if yyhl3564 {
			yyb3564 = yyj3564 > l
		} else {
			yyb3564 = r.CheckBreak()
		}
		if yyb3564 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3564-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SELinuxOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3573 := z.EncBinary()
		_ = yym3573
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3574 := !z.EncBinary()
			yy2arr3574 := z.EncBasicHandle().StructToArray
			var yyq3574 [4]bool
			_, _, _ = yysep3574, yyq3574, yy2arr3574
			const yyr3574 bool = false
			yyq3574[0] = x.User != ""
			yyq3574[1] = x.Role != ""
			yyq3574[2] = x.Type != ""
			yyq3574[3] = x.Level != ""
			var yynn3574 int
			if yyr3574 || yy2arr3574 {
				r.EncodeArrayStart(4)
			} else {
				yynn3574 = 0
				for _, b := range yyq3574 {
					if b {
						yynn3574++
					}
				}
				r.EncodeMapStart(yynn3574)
				yynn3574 = 0
			}
			if yyr3574 || yy2arr3574 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3574[0] {
					yym3576 := z.EncBinary()
					_ = yym3576
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3574[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3577 := z.EncBinary()
					_ = yym3577
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr3574 || yy2arr3574 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3574[1] {
					yym3579 := z.EncBinary()
					_ = yym3579
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3574[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("role"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3580 := z.EncBinary()
					_ = yym3580
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				}
			}
			if yyr3574 || yy2arr3574 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3574[2] {
					yym3582 := z.EncBinary()
					_ = yym3582
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3574[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3583 := z.EncBinary()
					_ = yym3583
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3574 || yy2arr3574 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3574[3] {
					yym3585 := z.EncBinary()
					_ = yym3585
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3574[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("level"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3586 := z.EncBinary()
					_ = yym3586
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				}
			}
			if yyr3574 || yy2arr3574 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SELinuxOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3587 := z.DecBinary()
	_ = yym3587
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3588 := r.ContainerType()
		if yyct3588 == codecSelferValueTypeMap1234 {
			yyl3588 := r.ReadMapStart()
			if yyl3588 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3588, d)
			}
		} else if yyct3588 == codecSelferValueTypeArray1234 {
			yyl3588 := r.ReadArrayStart()
			if yyl3588 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3588, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SELinuxOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3589Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3589Slc
	var yyhl3589 bool = l >= 0
	for yyj3589 := 0; ; yyj3589++ {
		if yyhl3589 {
			if yyj3589 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3589Slc = r.DecodeBytes(yys3589Slc, true, true)
		yys3589 := string(yys3589Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3589 {
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "role":
			if r.TryDecodeAsNil() {
				x.Role = ""
			} else {
				x.Role = string(r.DecodeString())
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = string(r.DecodeString())
			}
		case "level":
			if r.TryDecodeAsNil() {
				x.Level = ""
			} else {
				x.Level = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3589)
		} // end switch yys3589
	} // end for yyj3589
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SELinuxOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3594 int
	var yyb3594 bool
	var yyhl3594 bool = l >= 0
	yyj3594++
	if yyhl3594 {
		yyb3594 = yyj3594 > l
	} else {
		yyb3594 = r.CheckBreak()
	}
	if yyb3594 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj3594++
	if yyhl3594 {
		yyb3594 = yyj3594 > l
	} else {
		yyb3594 = r.CheckBreak()
	}
	if yyb3594 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Role = ""
	} else {
		x.Role = string(r.DecodeString())
	}
	yyj3594++
	if yyhl3594 {
		yyb3594 = yyj3594 > l
	} else {
		yyb3594 = r.CheckBreak()
	}
	if yyb3594 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	yyj3594++
	if yyhl3594 {
		yyb3594 = yyj3594 > l
	} else {
		yyb3594 = r.CheckBreak()
	}
	if yyb3594 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Level = ""
	} else {
		x.Level = string(r.DecodeString())
	}
	for {
		yyj3594++
		if yyhl3594 {
			yyb3594 = yyj3594 > l
		} else {
			yyb3594 = r.CheckBreak()
		}
		if yyb3594 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3594-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *RangeAllocation) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3599 := z.EncBinary()
		_ = yym3599
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3600 := !z.EncBinary()
			yy2arr3600 := z.EncBasicHandle().StructToArray
			var yyq3600 [5]bool
			_, _, _ = yysep3600, yyq3600, yy2arr3600
			const yyr3600 bool = false
			yyq3600[0] = x.Kind != ""
			yyq3600[1] = x.APIVersion != ""
			yyq3600[2] = true
			var yynn3600 int
			if yyr3600 || yy2arr3600 {
				r.EncodeArrayStart(5)
			} else {
				yynn3600 = 2
				for _, b := range yyq3600 {
					if b {
						yynn3600++
					}
				}
				r.EncodeMapStart(yynn3600)
				yynn3600 = 0
			}
			if yyr3600 || yy2arr3600 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3600[0] {
					yym3602 := z.EncBinary()
					_ = yym3602
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3600[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3603 := z.EncBinary()
					_ = yym3603
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3600 || yy2arr3600 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3600[1] {
					yym3605 := z.EncBinary()
					_ = yym3605
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3600[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3606 := z.EncBinary()
					_ = yym3606
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3600 || yy2arr3600 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3600[2] {
					yy3608 := &x.ObjectMeta
					yy3608.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3600[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3609 := &x.ObjectMeta
					yy3609.CodecEncodeSelf(e)
				}
			}
			if yyr3600 || yy2arr3600 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3611 := z.EncBinary()
				_ = yym3611
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("range"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3612 := z.EncBinary()
				_ = yym3612
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			}
			if yyr3600 || yy2arr3600 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym3614 := z.EncBinary()
					_ = yym3614
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("data"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym3615 := z.EncBinary()
					_ = yym3615
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			}
			if yyr3600 || yy2arr3600 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *RangeAllocation) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3616 := z.DecBinary()
	_ = yym3616
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3617 := r.ContainerType()
		if yyct3617 == codecSelferValueTypeMap1234 {
			yyl3617 := r.ReadMapStart()
			if yyl3617 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3617, d)
			}
		} else if yyct3617 == codecSelferValueTypeArray1234 {
			yyl3617 := r.ReadArrayStart()
			if yyl3617 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3617, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *RangeAllocation) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3618Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3618Slc
	var yyhl3618 bool = l >= 0
	for yyj3618 := 0; ; yyj3618++ {
		if yyhl3618 {
			if yyj3618 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3618Slc = r.DecodeBytes(yys3618Slc, true, true)
		yys3618 := string(yys3618Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3618 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3621 := &x.ObjectMeta
				yyv3621.CodecDecodeSelf(d)
			}
		case "range":
			if r.TryDecodeAsNil() {
				x.Range = ""
			} else {
				x.Range = string(r.DecodeString())
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv3623 := &x.Data
				yym3624 := z.DecBinary()
				_ = yym3624
				if false {
				} else {
					*yyv3623 = r.DecodeBytes(*(*[]byte)(yyv3623), false, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3618)
		} // end switch yys3618
	} // end for yyj3618
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *RangeAllocation) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3625 int
	var yyb3625 bool
	var yyhl3625 bool = l >= 0
	yyj3625++
	if yyhl3625 {
		yyb3625 = yyj3625 > l
	} else {
		yyb3625 = r.CheckBreak()
	}
	if yyb3625 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3625++
	if yyhl3625 {
		yyb3625 = yyj3625 > l
	} else {
		yyb3625 = r.CheckBreak()
	}
	if yyb3625 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3625++
	if yyhl3625 {
		yyb3625 = yyj3625 > l
	} else {
		yyb3625 = r.CheckBreak()
	}
	if yyb3625 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3628 := &x.ObjectMeta
		yyv3628.CodecDecodeSelf(d)
	}
	yyj3625++
	if yyhl3625 {
		yyb3625 = yyj3625 > l
	} else {
		yyb3625 = r.CheckBreak()
	}
	if yyb3625 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Range = ""
	} else {
		x.Range = string(r.DecodeString())
	}
	yyj3625++
	if yyhl3625 {
		yyb3625 = yyj3625 > l
	} else {
		yyb3625 = r.CheckBreak()
	}
	if yyb3625 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv3630 := &x.Data
		yym3631 := z.DecBinary()
		_ = yym3631
		if false {
		} else {
			*yyv3630 = r.DecodeBytes(*(*[]byte)(yyv3630), false, false)
		}
	}
	for {
		yyj3625++
		if yyhl3625 {
			yyb3625 = yyj3625 > l
		} else {
			yyb3625 = r.CheckBreak()
		}
		if yyb3625 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3625-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) encSlicePersistentVolumeAccessMode(v []PersistentVolumeAccessMode, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3632 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv3632.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolumeAccessMode(v *[]PersistentVolumeAccessMode, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3633 := *v
	yyh3633, yyl3633 := z.DecSliceHelperStart()
	var yyc3633 bool
	if yyl3633 == 0 {
		if yyv3633 == nil {
			yyv3633 = []PersistentVolumeAccessMode{}
			yyc3633 = true
		} else if len(yyv3633) != 0 {
			yyv3633 = yyv3633[:0]
			yyc3633 = true
		}
	} else if yyl3633 > 0 {
		var yyrr3633, yyrl3633 int
		var yyrt3633 bool
		if yyl3633 > cap(yyv3633) {

			yyrl3633, yyrt3633 = z.DecInferLen(yyl3633, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3633 {
				if yyrl3633 <= cap(yyv3633) {
					yyv3633 = yyv3633[:yyrl3633]
				} else {
					yyv3633 = make([]PersistentVolumeAccessMode, yyrl3633)
				}
			} else {
				yyv3633 = make([]PersistentVolumeAccessMode, yyrl3633)
			}
			yyc3633 = true
			yyrr3633 = len(yyv3633)
		} else if yyl3633 != len(yyv3633) {
			yyv3633 = yyv3633[:yyl3633]
			yyc3633 = true
		}
		yyj3633 := 0
		for ; yyj3633 < yyrr3633; yyj3633++ {
			yyh3633.ElemContainerState(yyj3633)
			if r.TryDecodeAsNil() {
				yyv3633[yyj3633] = ""
			} else {
				yyv3633[yyj3633] = PersistentVolumeAccessMode(r.DecodeString())
			}

		}
		if yyrt3633 {
			for ; yyj3633 < yyl3633; yyj3633++ {
				yyv3633 = append(yyv3633, "")
				yyh3633.ElemContainerState(yyj3633)
				if r.TryDecodeAsNil() {
					yyv3633[yyj3633] = ""
				} else {
					yyv3633[yyj3633] = PersistentVolumeAccessMode(r.DecodeString())
				}

			}
		}

	} else {
		yyj3633 := 0
		for ; !r.CheckBreak(); yyj3633++ {

			if yyj3633 >= len(yyv3633) {
				yyv3633 = append(yyv3633, "") // var yyz3633 PersistentVolumeAccessMode
				yyc3633 = true
			}
			yyh3633.ElemContainerState(yyj3633)
			if yyj3633 < len(yyv3633) {
				if r.TryDecodeAsNil() {
					yyv3633[yyj3633] = ""
				} else {
					yyv3633[yyj3633] = PersistentVolumeAccessMode(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3633 < len(yyv3633) {
			yyv3633 = yyv3633[:yyj3633]
			yyc3633 = true
		} else if yyj3633 == 0 && yyv3633 == nil {
			yyv3633 = []PersistentVolumeAccessMode{}
			yyc3633 = true
		}
	}
	yyh3633.End()
	if yyc3633 {
		*v = yyv3633
	}
}

func (x codecSelfer1234) encSlicePersistentVolume(v []PersistentVolume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3637 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3638 := &yyv3637
		yy3638.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolume(v *[]PersistentVolume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3639 := *v
	yyh3639, yyl3639 := z.DecSliceHelperStart()
	var yyc3639 bool
	if yyl3639 == 0 {
		if yyv3639 == nil {
			yyv3639 = []PersistentVolume{}
			yyc3639 = true
		} else if len(yyv3639) != 0 {
			yyv3639 = yyv3639[:0]
			yyc3639 = true
		}
	} else if yyl3639 > 0 {
		var yyrr3639, yyrl3639 int
		var yyrt3639 bool
		if yyl3639 > cap(yyv3639) {

			yyrg3639 := len(yyv3639) > 0
			yyv23639 := yyv3639
			yyrl3639, yyrt3639 = z.DecInferLen(yyl3639, z.DecBasicHandle().MaxInitLen, 392)
			if yyrt3639 {
				if yyrl3639 <= cap(yyv3639) {
					yyv3639 = yyv3639[:yyrl3639]
				} else {
					yyv3639 = make([]PersistentVolume, yyrl3639)
				}
			} else {
				yyv3639 = make([]PersistentVolume, yyrl3639)
			}
			yyc3639 = true
			yyrr3639 = len(yyv3639)
			if yyrg3639 {
				copy(yyv3639, yyv23639)
			}
		} else if yyl3639 != len(yyv3639) {
			yyv3639 = yyv3639[:yyl3639]
			yyc3639 = true
		}
		yyj3639 := 0
		for ; yyj3639 < yyrr3639; yyj3639++ {
			yyh3639.ElemContainerState(yyj3639)
			if r.TryDecodeAsNil() {
				yyv3639[yyj3639] = PersistentVolume{}
			} else {
				yyv3640 := &yyv3639[yyj3639]
				yyv3640.CodecDecodeSelf(d)
			}

		}
		if yyrt3639 {
			for ; yyj3639 < yyl3639; yyj3639++ {
				yyv3639 = append(yyv3639, PersistentVolume{})
				yyh3639.ElemContainerState(yyj3639)
				if r.TryDecodeAsNil() {
					yyv3639[yyj3639] = PersistentVolume{}
				} else {
					yyv3641 := &yyv3639[yyj3639]
					yyv3641.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3639 := 0
		for ; !r.CheckBreak(); yyj3639++ {

			if yyj3639 >= len(yyv3639) {
				yyv3639 = append(yyv3639, PersistentVolume{}) // var yyz3639 PersistentVolume
				yyc3639 = true
			}
			yyh3639.ElemContainerState(yyj3639)
			if yyj3639 < len(yyv3639) {
				if r.TryDecodeAsNil() {
					yyv3639[yyj3639] = PersistentVolume{}
				} else {
					yyv3642 := &yyv3639[yyj3639]
					yyv3642.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3639 < len(yyv3639) {
			yyv3639 = yyv3639[:yyj3639]
			yyc3639 = true
		} else if yyj3639 == 0 && yyv3639 == nil {
			yyv3639 = []PersistentVolume{}
			yyc3639 = true
		}
	}
	yyh3639.End()
	if yyc3639 {
		*v = yyv3639
	}
}

func (x codecSelfer1234) encSlicePersistentVolumeClaim(v []PersistentVolumeClaim, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3643 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3644 := &yyv3643
		yy3644.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolumeClaim(v *[]PersistentVolumeClaim, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3645 := *v
	yyh3645, yyl3645 := z.DecSliceHelperStart()
	var yyc3645 bool
	if yyl3645 == 0 {
		if yyv3645 == nil {
			yyv3645 = []PersistentVolumeClaim{}
			yyc3645 = true
		} else if len(yyv3645) != 0 {
			yyv3645 = yyv3645[:0]
			yyc3645 = true
		}
	} else if yyl3645 > 0 {
		var yyrr3645, yyrl3645 int
		var yyrt3645 bool
		if yyl3645 > cap(yyv3645) {

			yyrg3645 := len(yyv3645) > 0
			yyv23645 := yyv3645
			yyrl3645, yyrt3645 = z.DecInferLen(yyl3645, z.DecBasicHandle().MaxInitLen, 296)
			if yyrt3645 {
				if yyrl3645 <= cap(yyv3645) {
					yyv3645 = yyv3645[:yyrl3645]
				} else {
					yyv3645 = make([]PersistentVolumeClaim, yyrl3645)
				}
			} else {
				yyv3645 = make([]PersistentVolumeClaim, yyrl3645)
			}
			yyc3645 = true
			yyrr3645 = len(yyv3645)
			if yyrg3645 {
				copy(yyv3645, yyv23645)
			}
		} else if yyl3645 != len(yyv3645) {
			yyv3645 = yyv3645[:yyl3645]
			yyc3645 = true
		}
		yyj3645 := 0
		for ; yyj3645 < yyrr3645; yyj3645++ {
			yyh3645.ElemContainerState(yyj3645)
			if r.TryDecodeAsNil() {
				yyv3645[yyj3645] = PersistentVolumeClaim{}
			} else {
				yyv3646 := &yyv3645[yyj3645]
				yyv3646.CodecDecodeSelf(d)
			}

		}
		if yyrt3645 {
			for ; yyj3645 < yyl3645; yyj3645++ {
				yyv3645 = append(yyv3645, PersistentVolumeClaim{})
				yyh3645.ElemContainerState(yyj3645)
				if r.TryDecodeAsNil() {
					yyv3645[yyj3645] = PersistentVolumeClaim{}
				} else {
					yyv3647 := &yyv3645[yyj3645]
					yyv3647.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3645 := 0
		for ; !r.CheckBreak(); yyj3645++ {

			if yyj3645 >= len(yyv3645) {
				yyv3645 = append(yyv3645, PersistentVolumeClaim{}) // var yyz3645 PersistentVolumeClaim
				yyc3645 = true
			}
			yyh3645.ElemContainerState(yyj3645)
			if yyj3645 < len(yyv3645) {
				if r.TryDecodeAsNil() {
					yyv3645[yyj3645] = PersistentVolumeClaim{}
				} else {
					yyv3648 := &yyv3645[yyj3645]
					yyv3648.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3645 < len(yyv3645) {
			yyv3645 = yyv3645[:yyj3645]
			yyc3645 = true
		} else if yyj3645 == 0 && yyv3645 == nil {
			yyv3645 = []PersistentVolumeClaim{}
			yyc3645 = true
		}
	}
	yyh3645.End()
	if yyc3645 {
		*v = yyv3645
	}
}

func (x codecSelfer1234) encSliceCapability(v []Capability, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3649 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv3649.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceCapability(v *[]Capability, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3650 := *v
	yyh3650, yyl3650 := z.DecSliceHelperStart()
	var yyc3650 bool
	if yyl3650 == 0 {
		if yyv3650 == nil {
			yyv3650 = []Capability{}
			yyc3650 = true
		} else if len(yyv3650) != 0 {
			yyv3650 = yyv3650[:0]
			yyc3650 = true
		}
	} else if yyl3650 > 0 {
		var yyrr3650, yyrl3650 int
		var yyrt3650 bool
		if yyl3650 > cap(yyv3650) {

			yyrl3650, yyrt3650 = z.DecInferLen(yyl3650, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3650 {
				if yyrl3650 <= cap(yyv3650) {
					yyv3650 = yyv3650[:yyrl3650]
				} else {
					yyv3650 = make([]Capability, yyrl3650)
				}
			} else {
				yyv3650 = make([]Capability, yyrl3650)
			}
			yyc3650 = true
			yyrr3650 = len(yyv3650)
		} else if yyl3650 != len(yyv3650) {
			yyv3650 = yyv3650[:yyl3650]
			yyc3650 = true
		}
		yyj3650 := 0
		for ; yyj3650 < yyrr3650; yyj3650++ {
			yyh3650.ElemContainerState(yyj3650)
			if r.TryDecodeAsNil() {
				yyv3650[yyj3650] = ""
			} else {
				yyv3650[yyj3650] = Capability(r.DecodeString())
			}

		}
		if yyrt3650 {
			for ; yyj3650 < yyl3650; yyj3650++ {
				yyv3650 = append(yyv3650, "")
				yyh3650.ElemContainerState(yyj3650)
				if r.TryDecodeAsNil() {
					yyv3650[yyj3650] = ""
				} else {
					yyv3650[yyj3650] = Capability(r.DecodeString())
				}

			}
		}

	} else {
		yyj3650 := 0
		for ; !r.CheckBreak(); yyj3650++ {

			if yyj3650 >= len(yyv3650) {
				yyv3650 = append(yyv3650, "") // var yyz3650 Capability
				yyc3650 = true
			}
			yyh3650.ElemContainerState(yyj3650)
			if yyj3650 < len(yyv3650) {
				if r.TryDecodeAsNil() {
					yyv3650[yyj3650] = ""
				} else {
					yyv3650[yyj3650] = Capability(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3650 < len(yyv3650) {
			yyv3650 = yyv3650[:yyj3650]
			yyc3650 = true
		} else if yyj3650 == 0 && yyv3650 == nil {
			yyv3650 = []Capability{}
			yyc3650 = true
		}
	}
	yyh3650.End()
	if yyc3650 {
		*v = yyv3650
	}
}

func (x codecSelfer1234) encSliceContainerPort(v []ContainerPort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3654 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3655 := &yyv3654
		yy3655.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerPort(v *[]ContainerPort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3656 := *v
	yyh3656, yyl3656 := z.DecSliceHelperStart()
	var yyc3656 bool
	if yyl3656 == 0 {
		if yyv3656 == nil {
			yyv3656 = []ContainerPort{}
			yyc3656 = true
		} else if len(yyv3656) != 0 {
			yyv3656 = yyv3656[:0]
			yyc3656 = true
		}
	} else if yyl3656 > 0 {
		var yyrr3656, yyrl3656 int
		var yyrt3656 bool
		if yyl3656 > cap(yyv3656) {

			yyrg3656 := len(yyv3656) > 0
			yyv23656 := yyv3656
			yyrl3656, yyrt3656 = z.DecInferLen(yyl3656, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt3656 {
				if yyrl3656 <= cap(yyv3656) {
					yyv3656 = yyv3656[:yyrl3656]
				} else {
					yyv3656 = make([]ContainerPort, yyrl3656)
				}
			} else {
				yyv3656 = make([]ContainerPort, yyrl3656)
			}
			yyc3656 = true
			yyrr3656 = len(yyv3656)
			if yyrg3656 {
				copy(yyv3656, yyv23656)
			}
		} else if yyl3656 != len(yyv3656) {
			yyv3656 = yyv3656[:yyl3656]
			yyc3656 = true
		}
		yyj3656 := 0
		for ; yyj3656 < yyrr3656; yyj3656++ {
			yyh3656.ElemContainerState(yyj3656)
			if r.TryDecodeAsNil() {
				yyv3656[yyj3656] = ContainerPort{}
			} else {
				yyv3657 := &yyv3656[yyj3656]
				yyv3657.CodecDecodeSelf(d)
			}

		}
		if yyrt3656 {
			for ; yyj3656 < yyl3656; yyj3656++ {
				yyv3656 = append(yyv3656, ContainerPort{})
				yyh3656.ElemContainerState(yyj3656)
				if r.TryDecodeAsNil() {
					yyv3656[yyj3656] = ContainerPort{}
				} else {
					yyv3658 := &yyv3656[yyj3656]
					yyv3658.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3656 := 0
		for ; !r.CheckBreak(); yyj3656++ {

			if yyj3656 >= len(yyv3656) {
				yyv3656 = append(yyv3656, ContainerPort{}) // var yyz3656 ContainerPort
				yyc3656 = true
			}
			yyh3656.ElemContainerState(yyj3656)
			if yyj3656 < len(yyv3656) {
				if r.TryDecodeAsNil() {
					yyv3656[yyj3656] = ContainerPort{}
				} else {
					yyv3659 := &yyv3656[yyj3656]
					yyv3659.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3656 < len(yyv3656) {
			yyv3656 = yyv3656[:yyj3656]
			yyc3656 = true
		} else if yyj3656 == 0 && yyv3656 == nil {
			yyv3656 = []ContainerPort{}
			yyc3656 = true
		}
	}
	yyh3656.End()
	if yyc3656 {
		*v = yyv3656
	}
}

func (x codecSelfer1234) encSliceEnvVar(v []EnvVar, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3660 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3661 := &yyv3660
		yy3661.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEnvVar(v *[]EnvVar, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3662 := *v
	yyh3662, yyl3662 := z.DecSliceHelperStart()
	var yyc3662 bool
	if yyl3662 == 0 {
		if yyv3662 == nil {
			yyv3662 = []EnvVar{}
			yyc3662 = true
		} else if len(yyv3662) != 0 {
			yyv3662 = yyv3662[:0]
			yyc3662 = true
		}
	} else if yyl3662 > 0 {
		var yyrr3662, yyrl3662 int
		var yyrt3662 bool
		if yyl3662 > cap(yyv3662) {

			yyrg3662 := len(yyv3662) > 0
			yyv23662 := yyv3662
			yyrl3662, yyrt3662 = z.DecInferLen(yyl3662, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt3662 {
				if yyrl3662 <= cap(yyv3662) {
					yyv3662 = yyv3662[:yyrl3662]
				} else {
					yyv3662 = make([]EnvVar, yyrl3662)
				}
			} else {
				yyv3662 = make([]EnvVar, yyrl3662)
			}
			yyc3662 = true
			yyrr3662 = len(yyv3662)
			if yyrg3662 {
				copy(yyv3662, yyv23662)
			}
		} else if yyl3662 != len(yyv3662) {
			yyv3662 = yyv3662[:yyl3662]
			yyc3662 = true
		}
		yyj3662 := 0
		for ; yyj3662 < yyrr3662; yyj3662++ {
			yyh3662.ElemContainerState(yyj3662)
			if r.TryDecodeAsNil() {
				yyv3662[yyj3662] = EnvVar{}
			} else {
				yyv3663 := &yyv3662[yyj3662]
				yyv3663.CodecDecodeSelf(d)
			}

		}
		if yyrt3662 {
			for ; yyj3662 < yyl3662; yyj3662++ {
				yyv3662 = append(yyv3662, EnvVar{})
				yyh3662.ElemContainerState(yyj3662)
				if r.TryDecodeAsNil() {
					yyv3662[yyj3662] = EnvVar{}
				} else {
					yyv3664 := &yyv3662[yyj3662]
					yyv3664.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3662 := 0
		for ; !r.CheckBreak(); yyj3662++ {

			if yyj3662 >= len(yyv3662) {
				yyv3662 = append(yyv3662, EnvVar{}) // var yyz3662 EnvVar
				yyc3662 = true
			}
			yyh3662.ElemContainerState(yyj3662)
			if yyj3662 < len(yyv3662) {
				if r.TryDecodeAsNil() {
					yyv3662[yyj3662] = EnvVar{}
				} else {
					yyv3665 := &yyv3662[yyj3662]
					yyv3665.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3662 < len(yyv3662) {
			yyv3662 = yyv3662[:yyj3662]
			yyc3662 = true
		} else if yyj3662 == 0 && yyv3662 == nil {
			yyv3662 = []EnvVar{}
			yyc3662 = true
		}
	}
	yyh3662.End()
	if yyc3662 {
		*v = yyv3662
	}
}

func (x codecSelfer1234) encSliceVolumeMount(v []VolumeMount, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3666 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3667 := &yyv3666
		yy3667.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceVolumeMount(v *[]VolumeMount, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3668 := *v
	yyh3668, yyl3668 := z.DecSliceHelperStart()
	var yyc3668 bool
	if yyl3668 == 0 {
		if yyv3668 == nil {
			yyv3668 = []VolumeMount{}
			yyc3668 = true
		} else if len(yyv3668) != 0 {
			yyv3668 = yyv3668[:0]
			yyc3668 = true
		}
	} else if yyl3668 > 0 {
		var yyrr3668, yyrl3668 int
		var yyrt3668 bool
		if yyl3668 > cap(yyv3668) {

			yyrg3668 := len(yyv3668) > 0
			yyv23668 := yyv3668
			yyrl3668, yyrt3668 = z.DecInferLen(yyl3668, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt3668 {
				if yyrl3668 <= cap(yyv3668) {
					yyv3668 = yyv3668[:yyrl3668]
				} else {
					yyv3668 = make([]VolumeMount, yyrl3668)
				}
			} else {
				yyv3668 = make([]VolumeMount, yyrl3668)
			}
			yyc3668 = true
			yyrr3668 = len(yyv3668)
			if yyrg3668 {
				copy(yyv3668, yyv23668)
			}
		} else if yyl3668 != len(yyv3668) {
			yyv3668 = yyv3668[:yyl3668]
			yyc3668 = true
		}
		yyj3668 := 0
		for ; yyj3668 < yyrr3668; yyj3668++ {
			yyh3668.ElemContainerState(yyj3668)
			if r.TryDecodeAsNil() {
				yyv3668[yyj3668] = VolumeMount{}
			} else {
				yyv3669 := &yyv3668[yyj3668]
				yyv3669.CodecDecodeSelf(d)
			}

		}
		if yyrt3668 {
			for ; yyj3668 < yyl3668; yyj3668++ {
				yyv3668 = append(yyv3668, VolumeMount{})
				yyh3668.ElemContainerState(yyj3668)
				if r.TryDecodeAsNil() {
					yyv3668[yyj3668] = VolumeMount{}
				} else {
					yyv3670 := &yyv3668[yyj3668]
					yyv3670.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3668 := 0
		for ; !r.CheckBreak(); yyj3668++ {

			if yyj3668 >= len(yyv3668) {
				yyv3668 = append(yyv3668, VolumeMount{}) // var yyz3668 VolumeMount
				yyc3668 = true
			}
			yyh3668.ElemContainerState(yyj3668)
			if yyj3668 < len(yyv3668) {
				if r.TryDecodeAsNil() {
					yyv3668[yyj3668] = VolumeMount{}
				} else {
					yyv3671 := &yyv3668[yyj3668]
					yyv3671.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3668 < len(yyv3668) {
			yyv3668 = yyv3668[:yyj3668]
			yyc3668 = true
		} else if yyj3668 == 0 && yyv3668 == nil {
			yyv3668 = []VolumeMount{}
			yyc3668 = true
		}
	}
	yyh3668.End()
	if yyc3668 {
		*v = yyv3668
	}
}

func (x codecSelfer1234) encSliceVolume(v []Volume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3672 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3673 := &yyv3672
		yy3673.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceVolume(v *[]Volume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3674 := *v
	yyh3674, yyl3674 := z.DecSliceHelperStart()
	var yyc3674 bool
	if yyl3674 == 0 {
		if yyv3674 == nil {
			yyv3674 = []Volume{}
			yyc3674 = true
		} else if len(yyv3674) != 0 {
			yyv3674 = yyv3674[:0]
			yyc3674 = true
		}
	} else if yyl3674 > 0 {
		var yyrr3674, yyrl3674 int
		var yyrt3674 bool
		if yyl3674 > cap(yyv3674) {

			yyrg3674 := len(yyv3674) > 0
			yyv23674 := yyv3674
			yyrl3674, yyrt3674 = z.DecInferLen(yyl3674, z.DecBasicHandle().MaxInitLen, 152)
			if yyrt3674 {
				if yyrl3674 <= cap(yyv3674) {
					yyv3674 = yyv3674[:yyrl3674]
				} else {
					yyv3674 = make([]Volume, yyrl3674)
				}
			} else {
				yyv3674 = make([]Volume, yyrl3674)
			}
			yyc3674 = true
			yyrr3674 = len(yyv3674)
			if yyrg3674 {
				copy(yyv3674, yyv23674)
			}
		} else if yyl3674 != len(yyv3674) {
			yyv3674 = yyv3674[:yyl3674]
			yyc3674 = true
		}
		yyj3674 := 0
		for ; yyj3674 < yyrr3674; yyj3674++ {
			yyh3674.ElemContainerState(yyj3674)
			if r.TryDecodeAsNil() {
				yyv3674[yyj3674] = Volume{}
			} else {
				yyv3675 := &yyv3674[yyj3674]
				yyv3675.CodecDecodeSelf(d)
			}

		}
		if yyrt3674 {
			for ; yyj3674 < yyl3674; yyj3674++ {
				yyv3674 = append(yyv3674, Volume{})
				yyh3674.ElemContainerState(yyj3674)
				if r.TryDecodeAsNil() {
					yyv3674[yyj3674] = Volume{}
				} else {
					yyv3676 := &yyv3674[yyj3674]
					yyv3676.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3674 := 0
		for ; !r.CheckBreak(); yyj3674++ {

			if yyj3674 >= len(yyv3674) {
				yyv3674 = append(yyv3674, Volume{}) // var yyz3674 Volume
				yyc3674 = true
			}
			yyh3674.ElemContainerState(yyj3674)
			if yyj3674 < len(yyv3674) {
				if r.TryDecodeAsNil() {
					yyv3674[yyj3674] = Volume{}
				} else {
					yyv3677 := &yyv3674[yyj3674]
					yyv3677.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3674 < len(yyv3674) {
			yyv3674 = yyv3674[:yyj3674]
			yyc3674 = true
		} else if yyj3674 == 0 && yyv3674 == nil {
			yyv3674 = []Volume{}
			yyc3674 = true
		}
	}
	yyh3674.End()
	if yyc3674 {
		*v = yyv3674
	}
}

func (x codecSelfer1234) encSliceContainer(v []Container, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3678 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3679 := &yyv3678
		yy3679.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainer(v *[]Container, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3680 := *v
	yyh3680, yyl3680 := z.DecSliceHelperStart()
	var yyc3680 bool
	if yyl3680 == 0 {
		if yyv3680 == nil {
			yyv3680 = []Container{}
			yyc3680 = true
		} else if len(yyv3680) != 0 {
			yyv3680 = yyv3680[:0]
			yyc3680 = true
		}
	} else if yyl3680 > 0 {
		var yyrr3680, yyrl3680 int
		var yyrt3680 bool
		if yyl3680 > cap(yyv3680) {

			yyrg3680 := len(yyv3680) > 0
			yyv23680 := yyv3680
			yyrl3680, yyrt3680 = z.DecInferLen(yyl3680, z.DecBasicHandle().MaxInitLen, 256)
			if yyrt3680 {
				if yyrl3680 <= cap(yyv3680) {
					yyv3680 = yyv3680[:yyrl3680]
				} else {
					yyv3680 = make([]Container, yyrl3680)
				}
			} else {
				yyv3680 = make([]Container, yyrl3680)
			}
			yyc3680 = true
			yyrr3680 = len(yyv3680)
			if yyrg3680 {
				copy(yyv3680, yyv23680)
			}
		} else if yyl3680 != len(yyv3680) {
			yyv3680 = yyv3680[:yyl3680]
			yyc3680 = true
		}
		yyj3680 := 0
		for ; yyj3680 < yyrr3680; yyj3680++ {
			yyh3680.ElemContainerState(yyj3680)
			if r.TryDecodeAsNil() {
				yyv3680[yyj3680] = Container{}
			} else {
				yyv3681 := &yyv3680[yyj3680]
				yyv3681.CodecDecodeSelf(d)
			}

		}
		if yyrt3680 {
			for ; yyj3680 < yyl3680; yyj3680++ {
				yyv3680 = append(yyv3680, Container{})
				yyh3680.ElemContainerState(yyj3680)
				if r.TryDecodeAsNil() {
					yyv3680[yyj3680] = Container{}
				} else {
					yyv3682 := &yyv3680[yyj3680]
					yyv3682.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3680 := 0
		for ; !r.CheckBreak(); yyj3680++ {

			if yyj3680 >= len(yyv3680) {
				yyv3680 = append(yyv3680, Container{}) // var yyz3680 Container
				yyc3680 = true
			}
			yyh3680.ElemContainerState(yyj3680)
			if yyj3680 < len(yyv3680) {
				if r.TryDecodeAsNil() {
					yyv3680[yyj3680] = Container{}
				} else {
					yyv3683 := &yyv3680[yyj3680]
					yyv3683.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3680 < len(yyv3680) {
			yyv3680 = yyv3680[:yyj3680]
			yyc3680 = true
		} else if yyj3680 == 0 && yyv3680 == nil {
			yyv3680 = []Container{}
			yyc3680 = true
		}
	}
	yyh3680.End()
	if yyc3680 {
		*v = yyv3680
	}
}

func (x codecSelfer1234) encSliceLocalObjectReference(v []LocalObjectReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3684 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3685 := &yyv3684
		yy3685.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLocalObjectReference(v *[]LocalObjectReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3686 := *v
	yyh3686, yyl3686 := z.DecSliceHelperStart()
	var yyc3686 bool
	if yyl3686 == 0 {
		if yyv3686 == nil {
			yyv3686 = []LocalObjectReference{}
			yyc3686 = true
		} else if len(yyv3686) != 0 {
			yyv3686 = yyv3686[:0]
			yyc3686 = true
		}
	} else if yyl3686 > 0 {
		var yyrr3686, yyrl3686 int
		var yyrt3686 bool
		if yyl3686 > cap(yyv3686) {

			yyrg3686 := len(yyv3686) > 0
			yyv23686 := yyv3686
			yyrl3686, yyrt3686 = z.DecInferLen(yyl3686, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3686 {
				if yyrl3686 <= cap(yyv3686) {
					yyv3686 = yyv3686[:yyrl3686]
				} else {
					yyv3686 = make([]LocalObjectReference, yyrl3686)
				}
			} else {
				yyv3686 = make([]LocalObjectReference, yyrl3686)
			}
			yyc3686 = true
			yyrr3686 = len(yyv3686)
			if yyrg3686 {
				copy(yyv3686, yyv23686)
			}
		} else if yyl3686 != len(yyv3686) {
			yyv3686 = yyv3686[:yyl3686]
			yyc3686 = true
		}
		yyj3686 := 0
		for ; yyj3686 < yyrr3686; yyj3686++ {
			yyh3686.ElemContainerState(yyj3686)
			if r.TryDecodeAsNil() {
				yyv3686[yyj3686] = LocalObjectReference{}
			} else {
				yyv3687 := &yyv3686[yyj3686]
				yyv3687.CodecDecodeSelf(d)
			}

		}
		if yyrt3686 {
			for ; yyj3686 < yyl3686; yyj3686++ {
				yyv3686 = append(yyv3686, LocalObjectReference{})
				yyh3686.ElemContainerState(yyj3686)
				if r.TryDecodeAsNil() {
					yyv3686[yyj3686] = LocalObjectReference{}
				} else {
					yyv3688 := &yyv3686[yyj3686]
					yyv3688.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3686 := 0
		for ; !r.CheckBreak(); yyj3686++ {

			if yyj3686 >= len(yyv3686) {
				yyv3686 = append(yyv3686, LocalObjectReference{}) // var yyz3686 LocalObjectReference
				yyc3686 = true
			}
			yyh3686.ElemContainerState(yyj3686)
			if yyj3686 < len(yyv3686) {
				if r.TryDecodeAsNil() {
					yyv3686[yyj3686] = LocalObjectReference{}
				} else {
					yyv3689 := &yyv3686[yyj3686]
					yyv3689.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3686 < len(yyv3686) {
			yyv3686 = yyv3686[:yyj3686]
			yyc3686 = true
		} else if yyj3686 == 0 && yyv3686 == nil {
			yyv3686 = []LocalObjectReference{}
			yyc3686 = true
		}
	}
	yyh3686.End()
	if yyc3686 {
		*v = yyv3686
	}
}

func (x codecSelfer1234) encSlicePodCondition(v []PodCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3690 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3691 := &yyv3690
		yy3691.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePodCondition(v *[]PodCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3692 := *v
	yyh3692, yyl3692 := z.DecSliceHelperStart()
	var yyc3692 bool
	if yyl3692 == 0 {
		if yyv3692 == nil {
			yyv3692 = []PodCondition{}
			yyc3692 = true
		} else if len(yyv3692) != 0 {
			yyv3692 = yyv3692[:0]
			yyc3692 = true
		}
	} else if yyl3692 > 0 {
		var yyrr3692, yyrl3692 int
		var yyrt3692 bool
		if yyl3692 > cap(yyv3692) {

			yyrg3692 := len(yyv3692) > 0
			yyv23692 := yyv3692
			yyrl3692, yyrt3692 = z.DecInferLen(yyl3692, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt3692 {
				if yyrl3692 <= cap(yyv3692) {
					yyv3692 = yyv3692[:yyrl3692]
				} else {
					yyv3692 = make([]PodCondition, yyrl3692)
				}
			} else {
				yyv3692 = make([]PodCondition, yyrl3692)
			}
			yyc3692 = true
			yyrr3692 = len(yyv3692)
			if yyrg3692 {
				copy(yyv3692, yyv23692)
			}
		} else if yyl3692 != len(yyv3692) {
			yyv3692 = yyv3692[:yyl3692]
			yyc3692 = true
		}
		yyj3692 := 0
		for ; yyj3692 < yyrr3692; yyj3692++ {
			yyh3692.ElemContainerState(yyj3692)
			if r.TryDecodeAsNil() {
				yyv3692[yyj3692] = PodCondition{}
			} else {
				yyv3693 := &yyv3692[yyj3692]
				yyv3693.CodecDecodeSelf(d)
			}

		}
		if yyrt3692 {
			for ; yyj3692 < yyl3692; yyj3692++ {
				yyv3692 = append(yyv3692, PodCondition{})
				yyh3692.ElemContainerState(yyj3692)
				if r.TryDecodeAsNil() {
					yyv3692[yyj3692] = PodCondition{}
				} else {
					yyv3694 := &yyv3692[yyj3692]
					yyv3694.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3692 := 0
		for ; !r.CheckBreak(); yyj3692++ {

			if yyj3692 >= len(yyv3692) {
				yyv3692 = append(yyv3692, PodCondition{}) // var yyz3692 PodCondition
				yyc3692 = true
			}
			yyh3692.ElemContainerState(yyj3692)
			if yyj3692 < len(yyv3692) {
				if r.TryDecodeAsNil() {
					yyv3692[yyj3692] = PodCondition{}
				} else {
					yyv3695 := &yyv3692[yyj3692]
					yyv3695.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3692 < len(yyv3692) {
			yyv3692 = yyv3692[:yyj3692]
			yyc3692 = true
		} else if yyj3692 == 0 && yyv3692 == nil {
			yyv3692 = []PodCondition{}
			yyc3692 = true
		}
	}
	yyh3692.End()
	if yyc3692 {
		*v = yyv3692
	}
}

func (x codecSelfer1234) encSliceContainerStatus(v []ContainerStatus, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3696 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3697 := &yyv3696
		yy3697.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerStatus(v *[]ContainerStatus, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3698 := *v
	yyh3698, yyl3698 := z.DecSliceHelperStart()
	var yyc3698 bool
	if yyl3698 == 0 {
		if yyv3698 == nil {
			yyv3698 = []ContainerStatus{}
			yyc3698 = true
		} else if len(yyv3698) != 0 {
			yyv3698 = yyv3698[:0]
			yyc3698 = true
		}
	} else if yyl3698 > 0 {
		var yyrr3698, yyrl3698 int
		var yyrt3698 bool
		if yyl3698 > cap(yyv3698) {

			yyrg3698 := len(yyv3698) > 0
			yyv23698 := yyv3698
			yyrl3698, yyrt3698 = z.DecInferLen(yyl3698, z.DecBasicHandle().MaxInitLen, 120)
			if yyrt3698 {
				if yyrl3698 <= cap(yyv3698) {
					yyv3698 = yyv3698[:yyrl3698]
				} else {
					yyv3698 = make([]ContainerStatus, yyrl3698)
				}
			} else {
				yyv3698 = make([]ContainerStatus, yyrl3698)
			}
			yyc3698 = true
			yyrr3698 = len(yyv3698)
			if yyrg3698 {
				copy(yyv3698, yyv23698)
			}
		} else if yyl3698 != len(yyv3698) {
			yyv3698 = yyv3698[:yyl3698]
			yyc3698 = true
		}
		yyj3698 := 0
		for ; yyj3698 < yyrr3698; yyj3698++ {
			yyh3698.ElemContainerState(yyj3698)
			if r.TryDecodeAsNil() {
				yyv3698[yyj3698] = ContainerStatus{}
			} else {
				yyv3699 := &yyv3698[yyj3698]
				yyv3699.CodecDecodeSelf(d)
			}

		}
		if yyrt3698 {
			for ; yyj3698 < yyl3698; yyj3698++ {
				yyv3698 = append(yyv3698, ContainerStatus{})
				yyh3698.ElemContainerState(yyj3698)
				if r.TryDecodeAsNil() {
					yyv3698[yyj3698] = ContainerStatus{}
				} else {
					yyv3700 := &yyv3698[yyj3698]
					yyv3700.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3698 := 0
		for ; !r.CheckBreak(); yyj3698++ {

			if yyj3698 >= len(yyv3698) {
				yyv3698 = append(yyv3698, ContainerStatus{}) // var yyz3698 ContainerStatus
				yyc3698 = true
			}
			yyh3698.ElemContainerState(yyj3698)
			if yyj3698 < len(yyv3698) {
				if r.TryDecodeAsNil() {
					yyv3698[yyj3698] = ContainerStatus{}
				} else {
					yyv3701 := &yyv3698[yyj3698]
					yyv3701.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3698 < len(yyv3698) {
			yyv3698 = yyv3698[:yyj3698]
			yyc3698 = true
		} else if yyj3698 == 0 && yyv3698 == nil {
			yyv3698 = []ContainerStatus{}
			yyc3698 = true
		}
	}
	yyh3698.End()
	if yyc3698 {
		*v = yyv3698
	}
}

func (x codecSelfer1234) encSlicePod(v []Pod, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3702 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3703 := &yyv3702
		yy3703.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePod(v *[]Pod, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3704 := *v
	yyh3704, yyl3704 := z.DecSliceHelperStart()
	var yyc3704 bool
	if yyl3704 == 0 {
		if yyv3704 == nil {
			yyv3704 = []Pod{}
			yyc3704 = true
		} else if len(yyv3704) != 0 {
			yyv3704 = yyv3704[:0]
			yyc3704 = true
		}
	} else if yyl3704 > 0 {
		var yyrr3704, yyrl3704 int
		var yyrt3704 bool
		if yyl3704 > cap(yyv3704) {

			yyrg3704 := len(yyv3704) > 0
			yyv23704 := yyv3704
			yyrl3704, yyrt3704 = z.DecInferLen(yyl3704, z.DecBasicHandle().MaxInitLen, 520)
			if yyrt3704 {
				if yyrl3704 <= cap(yyv3704) {
					yyv3704 = yyv3704[:yyrl3704]
				} else {
					yyv3704 = make([]Pod, yyrl3704)
				}
			} else {
				yyv3704 = make([]Pod, yyrl3704)
			}
			yyc3704 = true
			yyrr3704 = len(yyv3704)
			if yyrg3704 {
				copy(yyv3704, yyv23704)
			}
		} else if yyl3704 != len(yyv3704) {
			yyv3704 = yyv3704[:yyl3704]
			yyc3704 = true
		}
		yyj3704 := 0
		for ; yyj3704 < yyrr3704; yyj3704++ {
			yyh3704.ElemContainerState(yyj3704)
			if r.TryDecodeAsNil() {
				yyv3704[yyj3704] = Pod{}
			} else {
				yyv3705 := &yyv3704[yyj3704]
				yyv3705.CodecDecodeSelf(d)
			}

		}
		if yyrt3704 {
			for ; yyj3704 < yyl3704; yyj3704++ {
				yyv3704 = append(yyv3704, Pod{})
				yyh3704.ElemContainerState(yyj3704)
				if r.TryDecodeAsNil() {
					yyv3704[yyj3704] = Pod{}
				} else {
					yyv3706 := &yyv3704[yyj3704]
					yyv3706.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3704 := 0
		for ; !r.CheckBreak(); yyj3704++ {

			if yyj3704 >= len(yyv3704) {
				yyv3704 = append(yyv3704, Pod{}) // var yyz3704 Pod
				yyc3704 = true
			}
			yyh3704.ElemContainerState(yyj3704)
			if yyj3704 < len(yyv3704) {
				if r.TryDecodeAsNil() {
					yyv3704[yyj3704] = Pod{}
				} else {
					yyv3707 := &yyv3704[yyj3704]
					yyv3707.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3704 < len(yyv3704) {
			yyv3704 = yyv3704[:yyj3704]
			yyc3704 = true
		} else if yyj3704 == 0 && yyv3704 == nil {
			yyv3704 = []Pod{}
			yyc3704 = true
		}
	}
	yyh3704.End()
	if yyc3704 {
		*v = yyv3704
	}
}

func (x codecSelfer1234) encSlicePodTemplate(v []PodTemplate, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3708 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3709 := &yyv3708
		yy3709.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePodTemplate(v *[]PodTemplate, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3710 := *v
	yyh3710, yyl3710 := z.DecSliceHelperStart()
	var yyc3710 bool
	if yyl3710 == 0 {
		if yyv3710 == nil {
			yyv3710 = []PodTemplate{}
			yyc3710 = true
		} else if len(yyv3710) != 0 {
			yyv3710 = yyv3710[:0]
			yyc3710 = true
		}
	} else if yyl3710 > 0 {
		var yyrr3710, yyrl3710 int
		var yyrt3710 bool
		if yyl3710 > cap(yyv3710) {

			yyrg3710 := len(yyv3710) > 0
			yyv23710 := yyv3710
			yyrl3710, yyrt3710 = z.DecInferLen(yyl3710, z.DecBasicHandle().MaxInitLen, 544)
			if yyrt3710 {
				if yyrl3710 <= cap(yyv3710) {
					yyv3710 = yyv3710[:yyrl3710]
				} else {
					yyv3710 = make([]PodTemplate, yyrl3710)
				}
			} else {
				yyv3710 = make([]PodTemplate, yyrl3710)
			}
			yyc3710 = true
			yyrr3710 = len(yyv3710)
			if yyrg3710 {
				copy(yyv3710, yyv23710)
			}
		} else if yyl3710 != len(yyv3710) {
			yyv3710 = yyv3710[:yyl3710]
			yyc3710 = true
		}
		yyj3710 := 0
		for ; yyj3710 < yyrr3710; yyj3710++ {
			yyh3710.ElemContainerState(yyj3710)
			if r.TryDecodeAsNil() {
				yyv3710[yyj3710] = PodTemplate{}
			} else {
				yyv3711 := &yyv3710[yyj3710]
				yyv3711.CodecDecodeSelf(d)
			}

		}
		if yyrt3710 {
			for ; yyj3710 < yyl3710; yyj3710++ {
				yyv3710 = append(yyv3710, PodTemplate{})
				yyh3710.ElemContainerState(yyj3710)
				if r.TryDecodeAsNil() {
					yyv3710[yyj3710] = PodTemplate{}
				} else {
					yyv3712 := &yyv3710[yyj3710]
					yyv3712.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3710 := 0
		for ; !r.CheckBreak(); yyj3710++ {

			if yyj3710 >= len(yyv3710) {
				yyv3710 = append(yyv3710, PodTemplate{}) // var yyz3710 PodTemplate
				yyc3710 = true
			}
			yyh3710.ElemContainerState(yyj3710)
			if yyj3710 < len(yyv3710) {
				if r.TryDecodeAsNil() {
					yyv3710[yyj3710] = PodTemplate{}
				} else {
					yyv3713 := &yyv3710[yyj3710]
					yyv3713.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3710 < len(yyv3710) {
			yyv3710 = yyv3710[:yyj3710]
			yyc3710 = true
		} else if yyj3710 == 0 && yyv3710 == nil {
			yyv3710 = []PodTemplate{}
			yyc3710 = true
		}
	}
	yyh3710.End()
	if yyc3710 {
		*v = yyv3710
	}
}

func (x codecSelfer1234) encSliceReplicationController(v []ReplicationController, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3714 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3715 := &yyv3714
		yy3715.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceReplicationController(v *[]ReplicationController, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3716 := *v
	yyh3716, yyl3716 := z.DecSliceHelperStart()
	var yyc3716 bool
	if yyl3716 == 0 {
		if yyv3716 == nil {
			yyv3716 = []ReplicationController{}
			yyc3716 = true
		} else if len(yyv3716) != 0 {
			yyv3716 = yyv3716[:0]
			yyc3716 = true
		}
	} else if yyl3716 > 0 {
		var yyrr3716, yyrl3716 int
		var yyrt3716 bool
		if yyl3716 > cap(yyv3716) {

			yyrg3716 := len(yyv3716) > 0
			yyv23716 := yyv3716
			yyrl3716, yyrt3716 = z.DecInferLen(yyl3716, z.DecBasicHandle().MaxInitLen, 232)
			if yyrt3716 {
				if yyrl3716 <= cap(yyv3716) {
					yyv3716 = yyv3716[:yyrl3716]
				} else {
					yyv3716 = make([]ReplicationController, yyrl3716)
				}
			} else {
				yyv3716 = make([]ReplicationController, yyrl3716)
			}
			yyc3716 = true
			yyrr3716 = len(yyv3716)
			if yyrg3716 {
				copy(yyv3716, yyv23716)
			}
		} else if yyl3716 != len(yyv3716) {
			yyv3716 = yyv3716[:yyl3716]
			yyc3716 = true
		}
		yyj3716 := 0
		for ; yyj3716 < yyrr3716; yyj3716++ {
			yyh3716.ElemContainerState(yyj3716)
			if r.TryDecodeAsNil() {
				yyv3716[yyj3716] = ReplicationController{}
			} else {
				yyv3717 := &yyv3716[yyj3716]
				yyv3717.CodecDecodeSelf(d)
			}

		}
		if yyrt3716 {
			for ; yyj3716 < yyl3716; yyj3716++ {
				yyv3716 = append(yyv3716, ReplicationController{})
				yyh3716.ElemContainerState(yyj3716)
				if r.TryDecodeAsNil() {
					yyv3716[yyj3716] = ReplicationController{}
				} else {
					yyv3718 := &yyv3716[yyj3716]
					yyv3718.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3716 := 0
		for ; !r.CheckBreak(); yyj3716++ {

			if yyj3716 >= len(yyv3716) {
				yyv3716 = append(yyv3716, ReplicationController{}) // var yyz3716 ReplicationController
				yyc3716 = true
			}
			yyh3716.ElemContainerState(yyj3716)
			if yyj3716 < len(yyv3716) {
				if r.TryDecodeAsNil() {
					yyv3716[yyj3716] = ReplicationController{}
				} else {
					yyv3719 := &yyv3716[yyj3716]
					yyv3719.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3716 < len(yyv3716) {
			yyv3716 = yyv3716[:yyj3716]
			yyc3716 = true
		} else if yyj3716 == 0 && yyv3716 == nil {
			yyv3716 = []ReplicationController{}
			yyc3716 = true
		}
	}
	yyh3716.End()
	if yyc3716 {
		*v = yyv3716
	}
}

func (x codecSelfer1234) encSliceLoadBalancerIngress(v []LoadBalancerIngress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3720 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3721 := &yyv3720
		yy3721.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLoadBalancerIngress(v *[]LoadBalancerIngress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3722 := *v
	yyh3722, yyl3722 := z.DecSliceHelperStart()
	var yyc3722 bool
	if yyl3722 == 0 {
		if yyv3722 == nil {
			yyv3722 = []LoadBalancerIngress{}
			yyc3722 = true
		} else if len(yyv3722) != 0 {
			yyv3722 = yyv3722[:0]
			yyc3722 = true
		}
	} else if yyl3722 > 0 {
		var yyrr3722, yyrl3722 int
		var yyrt3722 bool
		if yyl3722 > cap(yyv3722) {

			yyrg3722 := len(yyv3722) > 0
			yyv23722 := yyv3722
			yyrl3722, yyrt3722 = z.DecInferLen(yyl3722, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt3722 {
				if yyrl3722 <= cap(yyv3722) {
					yyv3722 = yyv3722[:yyrl3722]
				} else {
					yyv3722 = make([]LoadBalancerIngress, yyrl3722)
				}
			} else {
				yyv3722 = make([]LoadBalancerIngress, yyrl3722)
			}
			yyc3722 = true
			yyrr3722 = len(yyv3722)
			if yyrg3722 {
				copy(yyv3722, yyv23722)
			}
		} else if yyl3722 != len(yyv3722) {
			yyv3722 = yyv3722[:yyl3722]
			yyc3722 = true
		}
		yyj3722 := 0
		for ; yyj3722 < yyrr3722; yyj3722++ {
			yyh3722.ElemContainerState(yyj3722)
			if r.TryDecodeAsNil() {
				yyv3722[yyj3722] = LoadBalancerIngress{}
			} else {
				yyv3723 := &yyv3722[yyj3722]
				yyv3723.CodecDecodeSelf(d)
			}

		}
		if yyrt3722 {
			for ; yyj3722 < yyl3722; yyj3722++ {
				yyv3722 = append(yyv3722, LoadBalancerIngress{})
				yyh3722.ElemContainerState(yyj3722)
				if r.TryDecodeAsNil() {
					yyv3722[yyj3722] = LoadBalancerIngress{}
				} else {
					yyv3724 := &yyv3722[yyj3722]
					yyv3724.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3722 := 0
		for ; !r.CheckBreak(); yyj3722++ {

			if yyj3722 >= len(yyv3722) {
				yyv3722 = append(yyv3722, LoadBalancerIngress{}) // var yyz3722 LoadBalancerIngress
				yyc3722 = true
			}
			yyh3722.ElemContainerState(yyj3722)
			if yyj3722 < len(yyv3722) {
				if r.TryDecodeAsNil() {
					yyv3722[yyj3722] = LoadBalancerIngress{}
				} else {
					yyv3725 := &yyv3722[yyj3722]
					yyv3725.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3722 < len(yyv3722) {
			yyv3722 = yyv3722[:yyj3722]
			yyc3722 = true
		} else if yyj3722 == 0 && yyv3722 == nil {
			yyv3722 = []LoadBalancerIngress{}
			yyc3722 = true
		}
	}
	yyh3722.End()
	if yyc3722 {
		*v = yyv3722
	}
}

func (x codecSelfer1234) encSliceServicePort(v []ServicePort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3726 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3727 := &yyv3726
		yy3727.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceServicePort(v *[]ServicePort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3728 := *v
	yyh3728, yyl3728 := z.DecSliceHelperStart()
	var yyc3728 bool
	if yyl3728 == 0 {
		if yyv3728 == nil {
			yyv3728 = []ServicePort{}
			yyc3728 = true
		} else if len(yyv3728) != 0 {
			yyv3728 = yyv3728[:0]
			yyc3728 = true
		}
	} else if yyl3728 > 0 {
		var yyrr3728, yyrl3728 int
		var yyrt3728 bool
		if yyl3728 > cap(yyv3728) {

			yyrg3728 := len(yyv3728) > 0
			yyv23728 := yyv3728
			yyrl3728, yyrt3728 = z.DecInferLen(yyl3728, z.DecBasicHandle().MaxInitLen, 80)
			if yyrt3728 {
				if yyrl3728 <= cap(yyv3728) {
					yyv3728 = yyv3728[:yyrl3728]
				} else {
					yyv3728 = make([]ServicePort, yyrl3728)
				}
			} else {
				yyv3728 = make([]ServicePort, yyrl3728)
			}
			yyc3728 = true
			yyrr3728 = len(yyv3728)
			if yyrg3728 {
				copy(yyv3728, yyv23728)
			}
		} else if yyl3728 != len(yyv3728) {
			yyv3728 = yyv3728[:yyl3728]
			yyc3728 = true
		}
		yyj3728 := 0
		for ; yyj3728 < yyrr3728; yyj3728++ {
			yyh3728.ElemContainerState(yyj3728)
			if r.TryDecodeAsNil() {
				yyv3728[yyj3728] = ServicePort{}
			} else {
				yyv3729 := &yyv3728[yyj3728]
				yyv3729.CodecDecodeSelf(d)
			}

		}
		if yyrt3728 {
			for ; yyj3728 < yyl3728; yyj3728++ {
				yyv3728 = append(yyv3728, ServicePort{})
				yyh3728.ElemContainerState(yyj3728)
				if r.TryDecodeAsNil() {
					yyv3728[yyj3728] = ServicePort{}
				} else {
					yyv3730 := &yyv3728[yyj3728]
					yyv3730.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3728 := 0
		for ; !r.CheckBreak(); yyj3728++ {

			if yyj3728 >= len(yyv3728) {
				yyv3728 = append(yyv3728, ServicePort{}) // var yyz3728 ServicePort
				yyc3728 = true
			}
			yyh3728.ElemContainerState(yyj3728)
			if yyj3728 < len(yyv3728) {
				if r.TryDecodeAsNil() {
					yyv3728[yyj3728] = ServicePort{}
				} else {
					yyv3731 := &yyv3728[yyj3728]
					yyv3731.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3728 < len(yyv3728) {
			yyv3728 = yyv3728[:yyj3728]
			yyc3728 = true
		} else if yyj3728 == 0 && yyv3728 == nil {
			yyv3728 = []ServicePort{}
			yyc3728 = true
		}
	}
	yyh3728.End()
	if yyc3728 {
		*v = yyv3728
	}
}

func (x codecSelfer1234) encSliceService(v []Service, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3732 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3733 := &yyv3732
		yy3733.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceService(v *[]Service, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3734 := *v
	yyh3734, yyl3734 := z.DecSliceHelperStart()
	var yyc3734 bool
	if yyl3734 == 0 {
		if yyv3734 == nil {
			yyv3734 = []Service{}
			yyc3734 = true
		} else if len(yyv3734) != 0 {
			yyv3734 = yyv3734[:0]
			yyc3734 = true
		}
	} else if yyl3734 > 0 {
		var yyrr3734, yyrl3734 int
		var yyrt3734 bool
		if yyl3734 > cap(yyv3734) {

			yyrg3734 := len(yyv3734) > 0
			yyv23734 := yyv3734
			yyrl3734, yyrt3734 = z.DecInferLen(yyl3734, z.DecBasicHandle().MaxInitLen, 360)
			if yyrt3734 {
				if yyrl3734 <= cap(yyv3734) {
					yyv3734 = yyv3734[:yyrl3734]
				} else {
					yyv3734 = make([]Service, yyrl3734)
				}
			} else {
				yyv3734 = make([]Service, yyrl3734)
			}
			yyc3734 = true
			yyrr3734 = len(yyv3734)
			if yyrg3734 {
				copy(yyv3734, yyv23734)
			}
		} else if yyl3734 != len(yyv3734) {
			yyv3734 = yyv3734[:yyl3734]
			yyc3734 = true
		}
		yyj3734 := 0
		for ; yyj3734 < yyrr3734; yyj3734++ {
			yyh3734.ElemContainerState(yyj3734)
			if r.TryDecodeAsNil() {
				yyv3734[yyj3734] = Service{}
			} else {
				yyv3735 := &yyv3734[yyj3734]
				yyv3735.CodecDecodeSelf(d)
			}

		}
		if yyrt3734 {
			for ; yyj3734 < yyl3734; yyj3734++ {
				yyv3734 = append(yyv3734, Service{})
				yyh3734.ElemContainerState(yyj3734)
				if r.TryDecodeAsNil() {
					yyv3734[yyj3734] = Service{}
				} else {
					yyv3736 := &yyv3734[yyj3734]
					yyv3736.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3734 := 0
		for ; !r.CheckBreak(); yyj3734++ {

			if yyj3734 >= len(yyv3734) {
				yyv3734 = append(yyv3734, Service{}) // var yyz3734 Service
				yyc3734 = true
			}
			yyh3734.ElemContainerState(yyj3734)
			if yyj3734 < len(yyv3734) {
				if r.TryDecodeAsNil() {
					yyv3734[yyj3734] = Service{}
				} else {
					yyv3737 := &yyv3734[yyj3734]
					yyv3737.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3734 < len(yyv3734) {
			yyv3734 = yyv3734[:yyj3734]
			yyc3734 = true
		} else if yyj3734 == 0 && yyv3734 == nil {
			yyv3734 = []Service{}
			yyc3734 = true
		}
	}
	yyh3734.End()
	if yyc3734 {
		*v = yyv3734
	}
}

func (x codecSelfer1234) encSliceObjectReference(v []ObjectReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3738 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3739 := &yyv3738
		yy3739.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceObjectReference(v *[]ObjectReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3740 := *v
	yyh3740, yyl3740 := z.DecSliceHelperStart()
	var yyc3740 bool
	if yyl3740 == 0 {
		if yyv3740 == nil {
			yyv3740 = []ObjectReference{}
			yyc3740 = true
		} else if len(yyv3740) != 0 {
			yyv3740 = yyv3740[:0]
			yyc3740 = true
		}
	} else if yyl3740 > 0 {
		var yyrr3740, yyrl3740 int
		var yyrt3740 bool
		if yyl3740 > cap(yyv3740) {

			yyrg3740 := len(yyv3740) > 0
			yyv23740 := yyv3740
			yyrl3740, yyrt3740 = z.DecInferLen(yyl3740, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt3740 {
				if yyrl3740 <= cap(yyv3740) {
					yyv3740 = yyv3740[:yyrl3740]
				} else {
					yyv3740 = make([]ObjectReference, yyrl3740)
				}
			} else {
				yyv3740 = make([]ObjectReference, yyrl3740)
			}
			yyc3740 = true
			yyrr3740 = len(yyv3740)
			if yyrg3740 {
				copy(yyv3740, yyv23740)
			}
		} else if yyl3740 != len(yyv3740) {
			yyv3740 = yyv3740[:yyl3740]
			yyc3740 = true
		}
		yyj3740 := 0
		for ; yyj3740 < yyrr3740; yyj3740++ {
			yyh3740.ElemContainerState(yyj3740)
			if r.TryDecodeAsNil() {
				yyv3740[yyj3740] = ObjectReference{}
			} else {
				yyv3741 := &yyv3740[yyj3740]
				yyv3741.CodecDecodeSelf(d)
			}

		}
		if yyrt3740 {
			for ; yyj3740 < yyl3740; yyj3740++ {
				yyv3740 = append(yyv3740, ObjectReference{})
				yyh3740.ElemContainerState(yyj3740)
				if r.TryDecodeAsNil() {
					yyv3740[yyj3740] = ObjectReference{}
				} else {
					yyv3742 := &yyv3740[yyj3740]
					yyv3742.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3740 := 0
		for ; !r.CheckBreak(); yyj3740++ {

			if yyj3740 >= len(yyv3740) {
				yyv3740 = append(yyv3740, ObjectReference{}) // var yyz3740 ObjectReference
				yyc3740 = true
			}
			yyh3740.ElemContainerState(yyj3740)
			if yyj3740 < len(yyv3740) {
				if r.TryDecodeAsNil() {
					yyv3740[yyj3740] = ObjectReference{}
				} else {
					yyv3743 := &yyv3740[yyj3740]
					yyv3743.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3740 < len(yyv3740) {
			yyv3740 = yyv3740[:yyj3740]
			yyc3740 = true
		} else if yyj3740 == 0 && yyv3740 == nil {
			yyv3740 = []ObjectReference{}
			yyc3740 = true
		}
	}
	yyh3740.End()
	if yyc3740 {
		*v = yyv3740
	}
}

func (x codecSelfer1234) encSliceServiceAccount(v []ServiceAccount, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3744 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3745 := &yyv3744
		yy3745.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceServiceAccount(v *[]ServiceAccount, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3746 := *v
	yyh3746, yyl3746 := z.DecSliceHelperStart()
	var yyc3746 bool
	if yyl3746 == 0 {
		if yyv3746 == nil {
			yyv3746 = []ServiceAccount{}
			yyc3746 = true
		} else if len(yyv3746) != 0 {
			yyv3746 = yyv3746[:0]
			yyc3746 = true
		}
	} else if yyl3746 > 0 {
		var yyrr3746, yyrl3746 int
		var yyrt3746 bool
		if yyl3746 > cap(yyv3746) {

			yyrg3746 := len(yyv3746) > 0
			yyv23746 := yyv3746
			yyrl3746, yyrt3746 = z.DecInferLen(yyl3746, z.DecBasicHandle().MaxInitLen, 240)
			if yyrt3746 {
				if yyrl3746 <= cap(yyv3746) {
					yyv3746 = yyv3746[:yyrl3746]
				} else {
					yyv3746 = make([]ServiceAccount, yyrl3746)
				}
			} else {
				yyv3746 = make([]ServiceAccount, yyrl3746)
			}
			yyc3746 = true
			yyrr3746 = len(yyv3746)
			if yyrg3746 {
				copy(yyv3746, yyv23746)
			}
		} else if yyl3746 != len(yyv3746) {
			yyv3746 = yyv3746[:yyl3746]
			yyc3746 = true
		}
		yyj3746 := 0
		for ; yyj3746 < yyrr3746; yyj3746++ {
			yyh3746.ElemContainerState(yyj3746)
			if r.TryDecodeAsNil() {
				yyv3746[yyj3746] = ServiceAccount{}
			} else {
				yyv3747 := &yyv3746[yyj3746]
				yyv3747.CodecDecodeSelf(d)
			}

		}
		if yyrt3746 {
			for ; yyj3746 < yyl3746; yyj3746++ {
				yyv3746 = append(yyv3746, ServiceAccount{})
				yyh3746.ElemContainerState(yyj3746)
				if r.TryDecodeAsNil() {
					yyv3746[yyj3746] = ServiceAccount{}
				} else {
					yyv3748 := &yyv3746[yyj3746]
					yyv3748.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3746 := 0
		for ; !r.CheckBreak(); yyj3746++ {

			if yyj3746 >= len(yyv3746) {
				yyv3746 = append(yyv3746, ServiceAccount{}) // var yyz3746 ServiceAccount
				yyc3746 = true
			}
			yyh3746.ElemContainerState(yyj3746)
			if yyj3746 < len(yyv3746) {
				if r.TryDecodeAsNil() {
					yyv3746[yyj3746] = ServiceAccount{}
				} else {
					yyv3749 := &yyv3746[yyj3746]
					yyv3749.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3746 < len(yyv3746) {
			yyv3746 = yyv3746[:yyj3746]
			yyc3746 = true
		} else if yyj3746 == 0 && yyv3746 == nil {
			yyv3746 = []ServiceAccount{}
			yyc3746 = true
		}
	}
	yyh3746.End()
	if yyc3746 {
		*v = yyv3746
	}
}

func (x codecSelfer1234) encSliceEndpointSubset(v []EndpointSubset, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3750 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3751 := &yyv3750
		yy3751.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointSubset(v *[]EndpointSubset, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3752 := *v
	yyh3752, yyl3752 := z.DecSliceHelperStart()
	var yyc3752 bool
	if yyl3752 == 0 {
		if yyv3752 == nil {
			yyv3752 = []EndpointSubset{}
			yyc3752 = true
		} else if len(yyv3752) != 0 {
			yyv3752 = yyv3752[:0]
			yyc3752 = true
		}
	} else if yyl3752 > 0 {
		var yyrr3752, yyrl3752 int
		var yyrt3752 bool
		if yyl3752 > cap(yyv3752) {

			yyrg3752 := len(yyv3752) > 0
			yyv23752 := yyv3752
			yyrl3752, yyrt3752 = z.DecInferLen(yyl3752, z.DecBasicHandle().MaxInitLen, 72)
			if yyrt3752 {
				if yyrl3752 <= cap(yyv3752) {
					yyv3752 = yyv3752[:yyrl3752]
				} else {
					yyv3752 = make([]EndpointSubset, yyrl3752)
				}
			} else {
				yyv3752 = make([]EndpointSubset, yyrl3752)
			}
			yyc3752 = true
			yyrr3752 = len(yyv3752)
			if yyrg3752 {
				copy(yyv3752, yyv23752)
			}
		} else if yyl3752 != len(yyv3752) {
			yyv3752 = yyv3752[:yyl3752]
			yyc3752 = true
		}
		yyj3752 := 0
		for ; yyj3752 < yyrr3752; yyj3752++ {
			yyh3752.ElemContainerState(yyj3752)
			if r.TryDecodeAsNil() {
				yyv3752[yyj3752] = EndpointSubset{}
			} else {
				yyv3753 := &yyv3752[yyj3752]
				yyv3753.CodecDecodeSelf(d)
			}

		}
		if yyrt3752 {
			for ; yyj3752 < yyl3752; yyj3752++ {
				yyv3752 = append(yyv3752, EndpointSubset{})
				yyh3752.ElemContainerState(yyj3752)
				if r.TryDecodeAsNil() {
					yyv3752[yyj3752] = EndpointSubset{}
				} else {
					yyv3754 := &yyv3752[yyj3752]
					yyv3754.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3752 := 0
		for ; !r.CheckBreak(); yyj3752++ {

			if yyj3752 >= len(yyv3752) {
				yyv3752 = append(yyv3752, EndpointSubset{}) // var yyz3752 EndpointSubset
				yyc3752 = true
			}
			yyh3752.ElemContainerState(yyj3752)
			if yyj3752 < len(yyv3752) {
				if r.TryDecodeAsNil() {
					yyv3752[yyj3752] = EndpointSubset{}
				} else {
					yyv3755 := &yyv3752[yyj3752]
					yyv3755.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3752 < len(yyv3752) {
			yyv3752 = yyv3752[:yyj3752]
			yyc3752 = true
		} else if yyj3752 == 0 && yyv3752 == nil {
			yyv3752 = []EndpointSubset{}
			yyc3752 = true
		}
	}
	yyh3752.End()
	if yyc3752 {
		*v = yyv3752
	}
}

func (x codecSelfer1234) encSliceEndpointAddress(v []EndpointAddress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3756 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3757 := &yyv3756
		yy3757.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointAddress(v *[]EndpointAddress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3758 := *v
	yyh3758, yyl3758 := z.DecSliceHelperStart()
	var yyc3758 bool
	if yyl3758 == 0 {
		if yyv3758 == nil {
			yyv3758 = []EndpointAddress{}
			yyc3758 = true
		} else if len(yyv3758) != 0 {
			yyv3758 = yyv3758[:0]
			yyc3758 = true
		}
	} else if yyl3758 > 0 {
		var yyrr3758, yyrl3758 int
		var yyrt3758 bool
		if yyl3758 > cap(yyv3758) {

			yyrg3758 := len(yyv3758) > 0
			yyv23758 := yyv3758
			yyrl3758, yyrt3758 = z.DecInferLen(yyl3758, z.DecBasicHandle().MaxInitLen, 24)
			if yyrt3758 {
				if yyrl3758 <= cap(yyv3758) {
					yyv3758 = yyv3758[:yyrl3758]
				} else {
					yyv3758 = make([]EndpointAddress, yyrl3758)
				}
			} else {
				yyv3758 = make([]EndpointAddress, yyrl3758)
			}
			yyc3758 = true
			yyrr3758 = len(yyv3758)
			if yyrg3758 {
				copy(yyv3758, yyv23758)
			}
		} else if yyl3758 != len(yyv3758) {
			yyv3758 = yyv3758[:yyl3758]
			yyc3758 = true
		}
		yyj3758 := 0
		for ; yyj3758 < yyrr3758; yyj3758++ {
			yyh3758.ElemContainerState(yyj3758)
			if r.TryDecodeAsNil() {
				yyv3758[yyj3758] = EndpointAddress{}
			} else {
				yyv3759 := &yyv3758[yyj3758]
				yyv3759.CodecDecodeSelf(d)
			}

		}
		if yyrt3758 {
			for ; yyj3758 < yyl3758; yyj3758++ {
				yyv3758 = append(yyv3758, EndpointAddress{})
				yyh3758.ElemContainerState(yyj3758)
				if r.TryDecodeAsNil() {
					yyv3758[yyj3758] = EndpointAddress{}
				} else {
					yyv3760 := &yyv3758[yyj3758]
					yyv3760.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3758 := 0
		for ; !r.CheckBreak(); yyj3758++ {

			if yyj3758 >= len(yyv3758) {
				yyv3758 = append(yyv3758, EndpointAddress{}) // var yyz3758 EndpointAddress
				yyc3758 = true
			}
			yyh3758.ElemContainerState(yyj3758)
			if yyj3758 < len(yyv3758) {
				if r.TryDecodeAsNil() {
					yyv3758[yyj3758] = EndpointAddress{}
				} else {
					yyv3761 := &yyv3758[yyj3758]
					yyv3761.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3758 < len(yyv3758) {
			yyv3758 = yyv3758[:yyj3758]
			yyc3758 = true
		} else if yyj3758 == 0 && yyv3758 == nil {
			yyv3758 = []EndpointAddress{}
			yyc3758 = true
		}
	}
	yyh3758.End()
	if yyc3758 {
		*v = yyv3758
	}
}

func (x codecSelfer1234) encSliceEndpointPort(v []EndpointPort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3762 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3763 := &yyv3762
		yy3763.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointPort(v *[]EndpointPort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3764 := *v
	yyh3764, yyl3764 := z.DecSliceHelperStart()
	var yyc3764 bool
	if yyl3764 == 0 {
		if yyv3764 == nil {
			yyv3764 = []EndpointPort{}
			yyc3764 = true
		} else if len(yyv3764) != 0 {
			yyv3764 = yyv3764[:0]
			yyc3764 = true
		}
	} else if yyl3764 > 0 {
		var yyrr3764, yyrl3764 int
		var yyrt3764 bool
		if yyl3764 > cap(yyv3764) {

			yyrg3764 := len(yyv3764) > 0
			yyv23764 := yyv3764
			yyrl3764, yyrt3764 = z.DecInferLen(yyl3764, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt3764 {
				if yyrl3764 <= cap(yyv3764) {
					yyv3764 = yyv3764[:yyrl3764]
				} else {
					yyv3764 = make([]EndpointPort, yyrl3764)
				}
			} else {
				yyv3764 = make([]EndpointPort, yyrl3764)
			}
			yyc3764 = true
			yyrr3764 = len(yyv3764)
			if yyrg3764 {
				copy(yyv3764, yyv23764)
			}
		} else if yyl3764 != len(yyv3764) {
			yyv3764 = yyv3764[:yyl3764]
			yyc3764 = true
		}
		yyj3764 := 0
		for ; yyj3764 < yyrr3764; yyj3764++ {
			yyh3764.ElemContainerState(yyj3764)
			if r.TryDecodeAsNil() {
				yyv3764[yyj3764] = EndpointPort{}
			} else {
				yyv3765 := &yyv3764[yyj3764]
				yyv3765.CodecDecodeSelf(d)
			}

		}
		if yyrt3764 {
			for ; yyj3764 < yyl3764; yyj3764++ {
				yyv3764 = append(yyv3764, EndpointPort{})
				yyh3764.ElemContainerState(yyj3764)
				if r.TryDecodeAsNil() {
					yyv3764[yyj3764] = EndpointPort{}
				} else {
					yyv3766 := &yyv3764[yyj3764]
					yyv3766.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3764 := 0
		for ; !r.CheckBreak(); yyj3764++ {

			if yyj3764 >= len(yyv3764) {
				yyv3764 = append(yyv3764, EndpointPort{}) // var yyz3764 EndpointPort
				yyc3764 = true
			}
			yyh3764.ElemContainerState(yyj3764)
			if yyj3764 < len(yyv3764) {
				if r.TryDecodeAsNil() {
					yyv3764[yyj3764] = EndpointPort{}
				} else {
					yyv3767 := &yyv3764[yyj3764]
					yyv3767.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3764 < len(yyv3764) {
			yyv3764 = yyv3764[:yyj3764]
			yyc3764 = true
		} else if yyj3764 == 0 && yyv3764 == nil {
			yyv3764 = []EndpointPort{}
			yyc3764 = true
		}
	}
	yyh3764.End()
	if yyc3764 {
		*v = yyv3764
	}
}

func (x codecSelfer1234) encSliceEndpoints(v []Endpoints, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3768 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3769 := &yyv3768
		yy3769.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpoints(v *[]Endpoints, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3770 := *v
	yyh3770, yyl3770 := z.DecSliceHelperStart()
	var yyc3770 bool
	if yyl3770 == 0 {
		if yyv3770 == nil {
			yyv3770 = []Endpoints{}
			yyc3770 = true
		} else if len(yyv3770) != 0 {
			yyv3770 = yyv3770[:0]
			yyc3770 = true
		}
	} else if yyl3770 > 0 {
		var yyrr3770, yyrl3770 int
		var yyrt3770 bool
		if yyl3770 > cap(yyv3770) {

			yyrg3770 := len(yyv3770) > 0
			yyv23770 := yyv3770
			yyrl3770, yyrt3770 = z.DecInferLen(yyl3770, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3770 {
				if yyrl3770 <= cap(yyv3770) {
					yyv3770 = yyv3770[:yyrl3770]
				} else {
					yyv3770 = make([]Endpoints, yyrl3770)
				}
			} else {
				yyv3770 = make([]Endpoints, yyrl3770)
			}
			yyc3770 = true
			yyrr3770 = len(yyv3770)
			if yyrg3770 {
				copy(yyv3770, yyv23770)
			}
		} else if yyl3770 != len(yyv3770) {
			yyv3770 = yyv3770[:yyl3770]
			yyc3770 = true
		}
		yyj3770 := 0
		for ; yyj3770 < yyrr3770; yyj3770++ {
			yyh3770.ElemContainerState(yyj3770)
			if r.TryDecodeAsNil() {
				yyv3770[yyj3770] = Endpoints{}
			} else {
				yyv3771 := &yyv3770[yyj3770]
				yyv3771.CodecDecodeSelf(d)
			}

		}
		if yyrt3770 {
			for ; yyj3770 < yyl3770; yyj3770++ {
				yyv3770 = append(yyv3770, Endpoints{})
				yyh3770.ElemContainerState(yyj3770)
				if r.TryDecodeAsNil() {
					yyv3770[yyj3770] = Endpoints{}
				} else {
					yyv3772 := &yyv3770[yyj3770]
					yyv3772.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3770 := 0
		for ; !r.CheckBreak(); yyj3770++ {

			if yyj3770 >= len(yyv3770) {
				yyv3770 = append(yyv3770, Endpoints{}) // var yyz3770 Endpoints
				yyc3770 = true
			}
			yyh3770.ElemContainerState(yyj3770)
			if yyj3770 < len(yyv3770) {
				if r.TryDecodeAsNil() {
					yyv3770[yyj3770] = Endpoints{}
				} else {
					yyv3773 := &yyv3770[yyj3770]
					yyv3773.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3770 < len(yyv3770) {
			yyv3770 = yyv3770[:yyj3770]
			yyc3770 = true
		} else if yyj3770 == 0 && yyv3770 == nil {
			yyv3770 = []Endpoints{}
			yyc3770 = true
		}
	}
	yyh3770.End()
	if yyc3770 {
		*v = yyv3770
	}
}

func (x codecSelfer1234) encSliceNodeCondition(v []NodeCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3774 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3775 := &yyv3774
		yy3775.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeCondition(v *[]NodeCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3776 := *v
	yyh3776, yyl3776 := z.DecSliceHelperStart()
	var yyc3776 bool
	if yyl3776 == 0 {
		if yyv3776 == nil {
			yyv3776 = []NodeCondition{}
			yyc3776 = true
		} else if len(yyv3776) != 0 {
			yyv3776 = yyv3776[:0]
			yyc3776 = true
		}
	} else if yyl3776 > 0 {
		var yyrr3776, yyrl3776 int
		var yyrt3776 bool
		if yyl3776 > cap(yyv3776) {

			yyrg3776 := len(yyv3776) > 0
			yyv23776 := yyv3776
			yyrl3776, yyrt3776 = z.DecInferLen(yyl3776, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt3776 {
				if yyrl3776 <= cap(yyv3776) {
					yyv3776 = yyv3776[:yyrl3776]
				} else {
					yyv3776 = make([]NodeCondition, yyrl3776)
				}
			} else {
				yyv3776 = make([]NodeCondition, yyrl3776)
			}
			yyc3776 = true
			yyrr3776 = len(yyv3776)
			if yyrg3776 {
				copy(yyv3776, yyv23776)
			}
		} else if yyl3776 != len(yyv3776) {
			yyv3776 = yyv3776[:yyl3776]
			yyc3776 = true
		}
		yyj3776 := 0
		for ; yyj3776 < yyrr3776; yyj3776++ {
			yyh3776.ElemContainerState(yyj3776)
			if r.TryDecodeAsNil() {
				yyv3776[yyj3776] = NodeCondition{}
			} else {
				yyv3777 := &yyv3776[yyj3776]
				yyv3777.CodecDecodeSelf(d)
			}

		}
		if yyrt3776 {
			for ; yyj3776 < yyl3776; yyj3776++ {
				yyv3776 = append(yyv3776, NodeCondition{})
				yyh3776.ElemContainerState(yyj3776)
				if r.TryDecodeAsNil() {
					yyv3776[yyj3776] = NodeCondition{}
				} else {
					yyv3778 := &yyv3776[yyj3776]
					yyv3778.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3776 := 0
		for ; !r.CheckBreak(); yyj3776++ {

			if yyj3776 >= len(yyv3776) {
				yyv3776 = append(yyv3776, NodeCondition{}) // var yyz3776 NodeCondition
				yyc3776 = true
			}
			yyh3776.ElemContainerState(yyj3776)
			if yyj3776 < len(yyv3776) {
				if r.TryDecodeAsNil() {
					yyv3776[yyj3776] = NodeCondition{}
				} else {
					yyv3779 := &yyv3776[yyj3776]
					yyv3779.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3776 < len(yyv3776) {
			yyv3776 = yyv3776[:yyj3776]
			yyc3776 = true
		} else if yyj3776 == 0 && yyv3776 == nil {
			yyv3776 = []NodeCondition{}
			yyc3776 = true
		}
	}
	yyh3776.End()
	if yyc3776 {
		*v = yyv3776
	}
}

func (x codecSelfer1234) encSliceNodeAddress(v []NodeAddress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3780 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3781 := &yyv3780
		yy3781.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeAddress(v *[]NodeAddress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3782 := *v
	yyh3782, yyl3782 := z.DecSliceHelperStart()
	var yyc3782 bool
	if yyl3782 == 0 {
		if yyv3782 == nil {
			yyv3782 = []NodeAddress{}
			yyc3782 = true
		} else if len(yyv3782) != 0 {
			yyv3782 = yyv3782[:0]
			yyc3782 = true
		}
	} else if yyl3782 > 0 {
		var yyrr3782, yyrl3782 int
		var yyrt3782 bool
		if yyl3782 > cap(yyv3782) {

			yyrg3782 := len(yyv3782) > 0
			yyv23782 := yyv3782
			yyrl3782, yyrt3782 = z.DecInferLen(yyl3782, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt3782 {
				if yyrl3782 <= cap(yyv3782) {
					yyv3782 = yyv3782[:yyrl3782]
				} else {
					yyv3782 = make([]NodeAddress, yyrl3782)
				}
			} else {
				yyv3782 = make([]NodeAddress, yyrl3782)
			}
			yyc3782 = true
			yyrr3782 = len(yyv3782)
			if yyrg3782 {
				copy(yyv3782, yyv23782)
			}
		} else if yyl3782 != len(yyv3782) {
			yyv3782 = yyv3782[:yyl3782]
			yyc3782 = true
		}
		yyj3782 := 0
		for ; yyj3782 < yyrr3782; yyj3782++ {
			yyh3782.ElemContainerState(yyj3782)
			if r.TryDecodeAsNil() {
				yyv3782[yyj3782] = NodeAddress{}
			} else {
				yyv3783 := &yyv3782[yyj3782]
				yyv3783.CodecDecodeSelf(d)
			}

		}
		if yyrt3782 {
			for ; yyj3782 < yyl3782; yyj3782++ {
				yyv3782 = append(yyv3782, NodeAddress{})
				yyh3782.ElemContainerState(yyj3782)
				if r.TryDecodeAsNil() {
					yyv3782[yyj3782] = NodeAddress{}
				} else {
					yyv3784 := &yyv3782[yyj3782]
					yyv3784.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3782 := 0
		for ; !r.CheckBreak(); yyj3782++ {

			if yyj3782 >= len(yyv3782) {
				yyv3782 = append(yyv3782, NodeAddress{}) // var yyz3782 NodeAddress
				yyc3782 = true
			}
			yyh3782.ElemContainerState(yyj3782)
			if yyj3782 < len(yyv3782) {
				if r.TryDecodeAsNil() {
					yyv3782[yyj3782] = NodeAddress{}
				} else {
					yyv3785 := &yyv3782[yyj3782]
					yyv3785.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3782 < len(yyv3782) {
			yyv3782 = yyv3782[:yyj3782]
			yyc3782 = true
		} else if yyj3782 == 0 && yyv3782 == nil {
			yyv3782 = []NodeAddress{}
			yyc3782 = true
		}
	}
	yyh3782.End()
	if yyc3782 {
		*v = yyv3782
	}
}

func (x codecSelfer1234) encSliceContainerImage(v []ContainerImage, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3786 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3787 := &yyv3786
		yy3787.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerImage(v *[]ContainerImage, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3788 := *v
	yyh3788, yyl3788 := z.DecSliceHelperStart()
	var yyc3788 bool
	if yyl3788 == 0 {
		if yyv3788 == nil {
			yyv3788 = []ContainerImage{}
			yyc3788 = true
		} else if len(yyv3788) != 0 {
			yyv3788 = yyv3788[:0]
			yyc3788 = true
		}
	} else if yyl3788 > 0 {
		var yyrr3788, yyrl3788 int
		var yyrt3788 bool
		if yyl3788 > cap(yyv3788) {

			yyrg3788 := len(yyv3788) > 0
			yyv23788 := yyv3788
			yyrl3788, yyrt3788 = z.DecInferLen(yyl3788, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt3788 {
				if yyrl3788 <= cap(yyv3788) {
					yyv3788 = yyv3788[:yyrl3788]
				} else {
					yyv3788 = make([]ContainerImage, yyrl3788)
				}
			} else {
				yyv3788 = make([]ContainerImage, yyrl3788)
			}
			yyc3788 = true
			yyrr3788 = len(yyv3788)
			if yyrg3788 {
				copy(yyv3788, yyv23788)
			}
		} else if yyl3788 != len(yyv3788) {
			yyv3788 = yyv3788[:yyl3788]
			yyc3788 = true
		}
		yyj3788 := 0
		for ; yyj3788 < yyrr3788; yyj3788++ {
			yyh3788.ElemContainerState(yyj3788)
			if r.TryDecodeAsNil() {
				yyv3788[yyj3788] = ContainerImage{}
			} else {
				yyv3789 := &yyv3788[yyj3788]
				yyv3789.CodecDecodeSelf(d)
			}

		}
		if yyrt3788 {
			for ; yyj3788 < yyl3788; yyj3788++ {
				yyv3788 = append(yyv3788, ContainerImage{})
				yyh3788.ElemContainerState(yyj3788)
				if r.TryDecodeAsNil() {
					yyv3788[yyj3788] = ContainerImage{}
				} else {
					yyv3790 := &yyv3788[yyj3788]
					yyv3790.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3788 := 0
		for ; !r.CheckBreak(); yyj3788++ {

			if yyj3788 >= len(yyv3788) {
				yyv3788 = append(yyv3788, ContainerImage{}) // var yyz3788 ContainerImage
				yyc3788 = true
			}
			yyh3788.ElemContainerState(yyj3788)
			if yyj3788 < len(yyv3788) {
				if r.TryDecodeAsNil() {
					yyv3788[yyj3788] = ContainerImage{}
				} else {
					yyv3791 := &yyv3788[yyj3788]
					yyv3791.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3788 < len(yyv3788) {
			yyv3788 = yyv3788[:yyj3788]
			yyc3788 = true
		} else if yyj3788 == 0 && yyv3788 == nil {
			yyv3788 = []ContainerImage{}
			yyc3788 = true
		}
	}
	yyh3788.End()
	if yyc3788 {
		*v = yyv3788
	}
}

func (x codecSelfer1234) encResourceList(v ResourceList, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	for yyk3792, yyv3792 := range v {
		z.EncSendContainerState(codecSelfer_containerMapKey1234)
		yyk3792.CodecEncodeSelf(e)
		z.EncSendContainerState(codecSelfer_containerMapValue1234)
		yy3793 := &yyv3792
		yym3794 := z.EncBinary()
		_ = yym3794
		if false {
		} else if z.HasExtensions() && z.EncExt(yy3793) {
		} else if !yym3794 && z.IsJSONHandle() {
			z.EncJSONMarshal(yy3793)
		} else {
			z.EncFallback(yy3793)
		}
	}
	z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) decResourceList(v *ResourceList, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3795 := *v
	yyl3795 := r.ReadMapStart()
	yybh3795 := z.DecBasicHandle()
	if yyv3795 == nil {
		yyrl3795, _ := z.DecInferLen(yyl3795, yybh3795.MaxInitLen, 40)
		yyv3795 = make(map[ResourceName]pkg3_resource.Quantity, yyrl3795)
		*v = yyv3795
	}
	var yymk3795 ResourceName
	var yymv3795 pkg3_resource.Quantity
	var yymg3795 bool
	if yybh3795.MapValueReset {
		yymg3795 = true
	}
	if yyl3795 > 0 {
		for yyj3795 := 0; yyj3795 < yyl3795; yyj3795++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk3795 = ""
			} else {
				yymk3795 = ResourceName(r.DecodeString())
			}

			if yymg3795 {
				yymv3795 = yyv3795[yymk3795]
			} else {
				yymv3795 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv3795 = pkg3_resource.Quantity{}
			} else {
				yyv3797 := &yymv3795
				yym3798 := z.DecBinary()
				_ = yym3798
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3797) {
				} else if !yym3798 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3797)
				} else {
					z.DecFallback(yyv3797, false)
				}
			}

			if yyv3795 != nil {
				yyv3795[yymk3795] = yymv3795
			}
		}
	} else if yyl3795 < 0 {
		for yyj3795 := 0; !r.CheckBreak(); yyj3795++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk3795 = ""
			} else {
				yymk3795 = ResourceName(r.DecodeString())
			}

			if yymg3795 {
				yymv3795 = yyv3795[yymk3795]
			} else {
				yymv3795 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv3795 = pkg3_resource.Quantity{}
			} else {
				yyv3800 := &yymv3795
				yym3801 := z.DecBinary()
				_ = yym3801
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3800) {
				} else if !yym3801 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3800)
				} else {
					z.DecFallback(yyv3800, false)
				}
			}

			if yyv3795 != nil {
				yyv3795[yymk3795] = yymv3795
			}
		}
	} // else len==0: TODO: Should we clear map entries?
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) encSliceNode(v []Node, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3802 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3803 := &yyv3802
		yy3803.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNode(v *[]Node, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3804 := *v
	yyh3804, yyl3804 := z.DecSliceHelperStart()
	var yyc3804 bool
	if yyl3804 == 0 {
		if yyv3804 == nil {
			yyv3804 = []Node{}
			yyc3804 = true
		} else if len(yyv3804) != 0 {
			yyv3804 = yyv3804[:0]
			yyc3804 = true
		}
	} else if yyl3804 > 0 {
		var yyrr3804, yyrl3804 int
		var yyrt3804 bool
		if yyl3804 > cap(yyv3804) {

			yyrg3804 := len(yyv3804) > 0
			yyv23804 := yyv3804
			yyrl3804, yyrt3804 = z.DecInferLen(yyl3804, z.DecBasicHandle().MaxInitLen, 488)
			if yyrt3804 {
				if yyrl3804 <= cap(yyv3804) {
					yyv3804 = yyv3804[:yyrl3804]
				} else {
					yyv3804 = make([]Node, yyrl3804)
				}
			} else {
				yyv3804 = make([]Node, yyrl3804)
			}
			yyc3804 = true
			yyrr3804 = len(yyv3804)
			if yyrg3804 {
				copy(yyv3804, yyv23804)
			}
		} else if yyl3804 != len(yyv3804) {
			yyv3804 = yyv3804[:yyl3804]
			yyc3804 = true
		}
		yyj3804 := 0
		for ; yyj3804 < yyrr3804; yyj3804++ {
			yyh3804.ElemContainerState(yyj3804)
			if r.TryDecodeAsNil() {
				yyv3804[yyj3804] = Node{}
			} else {
				yyv3805 := &yyv3804[yyj3804]
				yyv3805.CodecDecodeSelf(d)
			}

		}
		if yyrt3804 {
			for ; yyj3804 < yyl3804; yyj3804++ {
				yyv3804 = append(yyv3804, Node{})
				yyh3804.ElemContainerState(yyj3804)
				if r.TryDecodeAsNil() {
					yyv3804[yyj3804] = Node{}
				} else {
					yyv3806 := &yyv3804[yyj3804]
					yyv3806.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3804 := 0
		for ; !r.CheckBreak(); yyj3804++ {

			if yyj3804 >= len(yyv3804) {
				yyv3804 = append(yyv3804, Node{}) // var yyz3804 Node
				yyc3804 = true
			}
			yyh3804.ElemContainerState(yyj3804)
			if yyj3804 < len(yyv3804) {
				if r.TryDecodeAsNil() {
					yyv3804[yyj3804] = Node{}
				} else {
					yyv3807 := &yyv3804[yyj3804]
					yyv3807.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3804 < len(yyv3804) {
			yyv3804 = yyv3804[:yyj3804]
			yyc3804 = true
		} else if yyj3804 == 0 && yyv3804 == nil {
			yyv3804 = []Node{}
			yyc3804 = true
		}
	}
	yyh3804.End()
	if yyc3804 {
		*v = yyv3804
	}
}

func (x codecSelfer1234) encSliceFinalizerName(v []FinalizerName, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3808 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv3808.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceFinalizerName(v *[]FinalizerName, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3809 := *v
	yyh3809, yyl3809 := z.DecSliceHelperStart()
	var yyc3809 bool
	if yyl3809 == 0 {
		if yyv3809 == nil {
			yyv3809 = []FinalizerName{}
			yyc3809 = true
		} else if len(yyv3809) != 0 {
			yyv3809 = yyv3809[:0]
			yyc3809 = true
		}
	} else if yyl3809 > 0 {
		var yyrr3809, yyrl3809 int
		var yyrt3809 bool
		if yyl3809 > cap(yyv3809) {

			yyrl3809, yyrt3809 = z.DecInferLen(yyl3809, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3809 {
				if yyrl3809 <= cap(yyv3809) {
					yyv3809 = yyv3809[:yyrl3809]
				} else {
					yyv3809 = make([]FinalizerName, yyrl3809)
				}
			} else {
				yyv3809 = make([]FinalizerName, yyrl3809)
			}
			yyc3809 = true
			yyrr3809 = len(yyv3809)
		} else if yyl3809 != len(yyv3809) {
			yyv3809 = yyv3809[:yyl3809]
			yyc3809 = true
		}
		yyj3809 := 0
		for ; yyj3809 < yyrr3809; yyj3809++ {
			yyh3809.ElemContainerState(yyj3809)
			if r.TryDecodeAsNil() {
				yyv3809[yyj3809] = ""
			} else {
				yyv3809[yyj3809] = FinalizerName(r.DecodeString())
			}

		}
		if yyrt3809 {
			for ; yyj3809 < yyl3809; yyj3809++ {
				yyv3809 = append(yyv3809, "")
				yyh3809.ElemContainerState(yyj3809)
				if r.TryDecodeAsNil() {
					yyv3809[yyj3809] = ""
				} else {
					yyv3809[yyj3809] = FinalizerName(r.DecodeString())
				}

			}
		}

	} else {
		yyj3809 := 0
		for ; !r.CheckBreak(); yyj3809++ {

			if yyj3809 >= len(yyv3809) {
				yyv3809 = append(yyv3809, "") // var yyz3809 FinalizerName
				yyc3809 = true
			}
			yyh3809.ElemContainerState(yyj3809)
			if yyj3809 < len(yyv3809) {
				if r.TryDecodeAsNil() {
					yyv3809[yyj3809] = ""
				} else {
					yyv3809[yyj3809] = FinalizerName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3809 < len(yyv3809) {
			yyv3809 = yyv3809[:yyj3809]
			yyc3809 = true
		} else if yyj3809 == 0 && yyv3809 == nil {
			yyv3809 = []FinalizerName{}
			yyc3809 = true
		}
	}
	yyh3809.End()
	if yyc3809 {
		*v = yyv3809
	}
}

func (x codecSelfer1234) encSliceNamespace(v []Namespace, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3813 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3814 := &yyv3813
		yy3814.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNamespace(v *[]Namespace, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3815 := *v
	yyh3815, yyl3815 := z.DecSliceHelperStart()
	var yyc3815 bool
	if yyl3815 == 0 {
		if yyv3815 == nil {
			yyv3815 = []Namespace{}
			yyc3815 = true
		} else if len(yyv3815) != 0 {
			yyv3815 = yyv3815[:0]
			yyc3815 = true
		}
	} else if yyl3815 > 0 {
		var yyrr3815, yyrl3815 int
		var yyrt3815 bool
		if yyl3815 > cap(yyv3815) {

			yyrg3815 := len(yyv3815) > 0
			yyv23815 := yyv3815
			yyrl3815, yyrt3815 = z.DecInferLen(yyl3815, z.DecBasicHandle().MaxInitLen, 232)
			if yyrt3815 {
				if yyrl3815 <= cap(yyv3815) {
					yyv3815 = yyv3815[:yyrl3815]
				} else {
					yyv3815 = make([]Namespace, yyrl3815)
				}
			} else {
				yyv3815 = make([]Namespace, yyrl3815)
			}
			yyc3815 = true
			yyrr3815 = len(yyv3815)
			if yyrg3815 {
				copy(yyv3815, yyv23815)
			}
		} else if yyl3815 != len(yyv3815) {
			yyv3815 = yyv3815[:yyl3815]
			yyc3815 = true
		}
		yyj3815 := 0
		for ; yyj3815 < yyrr3815; yyj3815++ {
			yyh3815.ElemContainerState(yyj3815)
			if r.TryDecodeAsNil() {
				yyv3815[yyj3815] = Namespace{}
			} else {
				yyv3816 := &yyv3815[yyj3815]
				yyv3816.CodecDecodeSelf(d)
			}

		}
		if yyrt3815 {
			for ; yyj3815 < yyl3815; yyj3815++ {
				yyv3815 = append(yyv3815, Namespace{})
				yyh3815.ElemContainerState(yyj3815)
				if r.TryDecodeAsNil() {
					yyv3815[yyj3815] = Namespace{}
				} else {
					yyv3817 := &yyv3815[yyj3815]
					yyv3817.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3815 := 0
		for ; !r.CheckBreak(); yyj3815++ {

			if yyj3815 >= len(yyv3815) {
				yyv3815 = append(yyv3815, Namespace{}) // var yyz3815 Namespace
				yyc3815 = true
			}
			yyh3815.ElemContainerState(yyj3815)
			if yyj3815 < len(yyv3815) {
				if r.TryDecodeAsNil() {
					yyv3815[yyj3815] = Namespace{}
				} else {
					yyv3818 := &yyv3815[yyj3815]
					yyv3818.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3815 < len(yyv3815) {
			yyv3815 = yyv3815[:yyj3815]
			yyc3815 = true
		} else if yyj3815 == 0 && yyv3815 == nil {
			yyv3815 = []Namespace{}
			yyc3815 = true
		}
	}
	yyh3815.End()
	if yyc3815 {
		*v = yyv3815
	}
}

func (x codecSelfer1234) encSliceEvent(v []Event, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3819 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3820 := &yyv3819
		yy3820.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEvent(v *[]Event, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3821 := *v
	yyh3821, yyl3821 := z.DecSliceHelperStart()
	var yyc3821 bool
	if yyl3821 == 0 {
		if yyv3821 == nil {
			yyv3821 = []Event{}
			yyc3821 = true
		} else if len(yyv3821) != 0 {
			yyv3821 = yyv3821[:0]
			yyc3821 = true
		}
	} else if yyl3821 > 0 {
		var yyrr3821, yyrl3821 int
		var yyrt3821 bool
		if yyl3821 > cap(yyv3821) {

			yyrg3821 := len(yyv3821) > 0
			yyv23821 := yyv3821
			yyrl3821, yyrt3821 = z.DecInferLen(yyl3821, z.DecBasicHandle().MaxInitLen, 440)
			if yyrt3821 {
				if yyrl3821 <= cap(yyv3821) {
					yyv3821 = yyv3821[:yyrl3821]
				} else {
					yyv3821 = make([]Event, yyrl3821)
				}
			} else {
				yyv3821 = make([]Event, yyrl3821)
			}
			yyc3821 = true
			yyrr3821 = len(yyv3821)
			if yyrg3821 {
				copy(yyv3821, yyv23821)
			}
		} else if yyl3821 != len(yyv3821) {
			yyv3821 = yyv3821[:yyl3821]
			yyc3821 = true
		}
		yyj3821 := 0
		for ; yyj3821 < yyrr3821; yyj3821++ {
			yyh3821.ElemContainerState(yyj3821)
			if r.TryDecodeAsNil() {
				yyv3821[yyj3821] = Event{}
			} else {
				yyv3822 := &yyv3821[yyj3821]
				yyv3822.CodecDecodeSelf(d)
			}

		}
		if yyrt3821 {
			for ; yyj3821 < yyl3821; yyj3821++ {
				yyv3821 = append(yyv3821, Event{})
				yyh3821.ElemContainerState(yyj3821)
				if r.TryDecodeAsNil() {
					yyv3821[yyj3821] = Event{}
				} else {
					yyv3823 := &yyv3821[yyj3821]
					yyv3823.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3821 := 0
		for ; !r.CheckBreak(); yyj3821++ {

			if yyj3821 >= len(yyv3821) {
				yyv3821 = append(yyv3821, Event{}) // var yyz3821 Event
				yyc3821 = true
			}
			yyh3821.ElemContainerState(yyj3821)
			if yyj3821 < len(yyv3821) {
				if r.TryDecodeAsNil() {
					yyv3821[yyj3821] = Event{}
				} else {
					yyv3824 := &yyv3821[yyj3821]
					yyv3824.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3821 < len(yyv3821) {
			yyv3821 = yyv3821[:yyj3821]
			yyc3821 = true
		} else if yyj3821 == 0 && yyv3821 == nil {
			yyv3821 = []Event{}
			yyc3821 = true
		}
	}
	yyh3821.End()
	if yyc3821 {
		*v = yyv3821
	}
}

func (x codecSelfer1234) encSliceruntime_RawExtension(v []pkg6_runtime.RawExtension, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3825 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3826 := &yyv3825
		yym3827 := z.EncBinary()
		_ = yym3827
		if false {
		} else if z.HasExtensions() && z.EncExt(yy3826) {
		} else if !yym3827 && z.IsJSONHandle() {
			z.EncJSONMarshal(yy3826)
		} else {
			z.EncFallback(yy3826)
		}
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceruntime_RawExtension(v *[]pkg6_runtime.RawExtension, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3828 := *v
	yyh3828, yyl3828 := z.DecSliceHelperStart()
	var yyc3828 bool
	if yyl3828 == 0 {
		if yyv3828 == nil {
			yyv3828 = []pkg6_runtime.RawExtension{}
			yyc3828 = true
		} else if len(yyv3828) != 0 {
			yyv3828 = yyv3828[:0]
			yyc3828 = true
		}
	} else if yyl3828 > 0 {
		var yyrr3828, yyrl3828 int
		var yyrt3828 bool
		if yyl3828 > cap(yyv3828) {

			yyrg3828 := len(yyv3828) > 0
			yyv23828 := yyv3828
			yyrl3828, yyrt3828 = z.DecInferLen(yyl3828, z.DecBasicHandle().MaxInitLen, 24)
			if yyrt3828 {
				if yyrl3828 <= cap(yyv3828) {
					yyv3828 = yyv3828[:yyrl3828]
				} else {
					yyv3828 = make([]pkg6_runtime.RawExtension, yyrl3828)
				}
			} else {
				yyv3828 = make([]pkg6_runtime.RawExtension, yyrl3828)
			}
			yyc3828 = true
			yyrr3828 = len(yyv3828)
			if yyrg3828 {
				copy(yyv3828, yyv23828)
			}
		} else if yyl3828 != len(yyv3828) {
			yyv3828 = yyv3828[:yyl3828]
			yyc3828 = true
		}
		yyj3828 := 0
		for ; yyj3828 < yyrr3828; yyj3828++ {
			yyh3828.ElemContainerState(yyj3828)
			if r.TryDecodeAsNil() {
				yyv3828[yyj3828] = pkg6_runtime.RawExtension{}
			} else {
				yyv3829 := &yyv3828[yyj3828]
				yym3830 := z.DecBinary()
				_ = yym3830
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3829) {
				} else if !yym3830 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3829)
				} else {
					z.DecFallback(yyv3829, false)
				}
			}

		}
		if yyrt3828 {
			for ; yyj3828 < yyl3828; yyj3828++ {
				yyv3828 = append(yyv3828, pkg6_runtime.RawExtension{})
				yyh3828.ElemContainerState(yyj3828)
				if r.TryDecodeAsNil() {
					yyv3828[yyj3828] = pkg6_runtime.RawExtension{}
				} else {
					yyv3831 := &yyv3828[yyj3828]
					yym3832 := z.DecBinary()
					_ = yym3832
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv3831) {
					} else if !yym3832 && z.IsJSONHandle() {
						z.DecJSONUnmarshal(yyv3831)
					} else {
						z.DecFallback(yyv3831, false)
					}
				}

			}
		}

	} else {
		yyj3828 := 0
		for ; !r.CheckBreak(); yyj3828++ {

			if yyj3828 >= len(yyv3828) {
				yyv3828 = append(yyv3828, pkg6_runtime.RawExtension{}) // var yyz3828 pkg6_runtime.RawExtension
				yyc3828 = true
			}
			yyh3828.ElemContainerState(yyj3828)
			if yyj3828 < len(yyv3828) {
				if r.TryDecodeAsNil() {
					yyv3828[yyj3828] = pkg6_runtime.RawExtension{}
				} else {
					yyv3833 := &yyv3828[yyj3828]
					yym3834 := z.DecBinary()
					_ = yym3834
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv3833) {
					} else if !yym3834 && z.IsJSONHandle() {
						z.DecJSONUnmarshal(yyv3833)
					} else {
						z.DecFallback(yyv3833, false)
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3828 < len(yyv3828) {
			yyv3828 = yyv3828[:yyj3828]
			yyc3828 = true
		} else if yyj3828 == 0 && yyv3828 == nil {
			yyv3828 = []pkg6_runtime.RawExtension{}
			yyc3828 = true
		}
	}
	yyh3828.End()
	if yyc3828 {
		*v = yyv3828
	}
}

func (x codecSelfer1234) encSliceLimitRangeItem(v []LimitRangeItem, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3835 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3836 := &yyv3835
		yy3836.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLimitRangeItem(v *[]LimitRangeItem, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3837 := *v
	yyh3837, yyl3837 := z.DecSliceHelperStart()
	var yyc3837 bool
	if yyl3837 == 0 {
		if yyv3837 == nil {
			yyv3837 = []LimitRangeItem{}
			yyc3837 = true
		} else if len(yyv3837) != 0 {
			yyv3837 = yyv3837[:0]
			yyc3837 = true
		}
	} else if yyl3837 > 0 {
		var yyrr3837, yyrl3837 int
		var yyrt3837 bool
		if yyl3837 > cap(yyv3837) {

			yyrg3837 := len(yyv3837) > 0
			yyv23837 := yyv3837
			yyrl3837, yyrt3837 = z.DecInferLen(yyl3837, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt3837 {
				if yyrl3837 <= cap(yyv3837) {
					yyv3837 = yyv3837[:yyrl3837]
				} else {
					yyv3837 = make([]LimitRangeItem, yyrl3837)
				}
			} else {
				yyv3837 = make([]LimitRangeItem, yyrl3837)
			}
			yyc3837 = true
			yyrr3837 = len(yyv3837)
			if yyrg3837 {
				copy(yyv3837, yyv23837)
			}
		} else if yyl3837 != len(yyv3837) {
			yyv3837 = yyv3837[:yyl3837]
			yyc3837 = true
		}
		yyj3837 := 0
		for ; yyj3837 < yyrr3837; yyj3837++ {
			yyh3837.ElemContainerState(yyj3837)
			if r.TryDecodeAsNil() {
				yyv3837[yyj3837] = LimitRangeItem{}
			} else {
				yyv3838 := &yyv3837[yyj3837]
				yyv3838.CodecDecodeSelf(d)
			}

		}
		if yyrt3837 {
			for ; yyj3837 < yyl3837; yyj3837++ {
				yyv3837 = append(yyv3837, LimitRangeItem{})
				yyh3837.ElemContainerState(yyj3837)
				if r.TryDecodeAsNil() {
					yyv3837[yyj3837] = LimitRangeItem{}
				} else {
					yyv3839 := &yyv3837[yyj3837]
					yyv3839.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3837 := 0
		for ; !r.CheckBreak(); yyj3837++ {

			if yyj3837 >= len(yyv3837) {
				yyv3837 = append(yyv3837, LimitRangeItem{}) // var yyz3837 LimitRangeItem
				yyc3837 = true
			}
			yyh3837.ElemContainerState(yyj3837)
			if yyj3837 < len(yyv3837) {
				if r.TryDecodeAsNil() {
					yyv3837[yyj3837] = LimitRangeItem{}
				} else {
					yyv3840 := &yyv3837[yyj3837]
					yyv3840.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3837 < len(yyv3837) {
			yyv3837 = yyv3837[:yyj3837]
			yyc3837 = true
		} else if yyj3837 == 0 && yyv3837 == nil {
			yyv3837 = []LimitRangeItem{}
			yyc3837 = true
		}
	}
	yyh3837.End()
	if yyc3837 {
		*v = yyv3837
	}
}

func (x codecSelfer1234) encSliceLimitRange(v []LimitRange, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3841 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3842 := &yyv3841
		yy3842.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLimitRange(v *[]LimitRange, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3843 := *v
	yyh3843, yyl3843 := z.DecSliceHelperStart()
	var yyc3843 bool
	if yyl3843 == 0 {
		if yyv3843 == nil {
			yyv3843 = []LimitRange{}
			yyc3843 = true
		} else if len(yyv3843) != 0 {
			yyv3843 = yyv3843[:0]
			yyc3843 = true
		}
	} else if yyl3843 > 0 {
		var yyrr3843, yyrl3843 int
		var yyrt3843 bool
		if yyl3843 > cap(yyv3843) {

			yyrg3843 := len(yyv3843) > 0
			yyv23843 := yyv3843
			yyrl3843, yyrt3843 = z.DecInferLen(yyl3843, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3843 {
				if yyrl3843 <= cap(yyv3843) {
					yyv3843 = yyv3843[:yyrl3843]
				} else {
					yyv3843 = make([]LimitRange, yyrl3843)
				}
			} else {
				yyv3843 = make([]LimitRange, yyrl3843)
			}
			yyc3843 = true
			yyrr3843 = len(yyv3843)
			if yyrg3843 {
				copy(yyv3843, yyv23843)
			}
		} else if yyl3843 != len(yyv3843) {
			yyv3843 = yyv3843[:yyl3843]
			yyc3843 = true
		}
		yyj3843 := 0
		for ; yyj3843 < yyrr3843; yyj3843++ {
			yyh3843.ElemContainerState(yyj3843)
			if r.TryDecodeAsNil() {
				yyv3843[yyj3843] = LimitRange{}
			} else {
				yyv3844 := &yyv3843[yyj3843]
				yyv3844.CodecDecodeSelf(d)
			}

		}
		if yyrt3843 {
			for ; yyj3843 < yyl3843; yyj3843++ {
				yyv3843 = append(yyv3843, LimitRange{})
				yyh3843.ElemContainerState(yyj3843)
				if r.TryDecodeAsNil() {
					yyv3843[yyj3843] = LimitRange{}
				} else {
					yyv3845 := &yyv3843[yyj3843]
					yyv3845.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3843 := 0
		for ; !r.CheckBreak(); yyj3843++ {

			if yyj3843 >= len(yyv3843) {
				yyv3843 = append(yyv3843, LimitRange{}) // var yyz3843 LimitRange
				yyc3843 = true
			}
			yyh3843.ElemContainerState(yyj3843)
			if yyj3843 < len(yyv3843) {
				if r.TryDecodeAsNil() {
					yyv3843[yyj3843] = LimitRange{}
				} else {
					yyv3846 := &yyv3843[yyj3843]
					yyv3846.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3843 < len(yyv3843) {
			yyv3843 = yyv3843[:yyj3843]
			yyc3843 = true
		} else if yyj3843 == 0 && yyv3843 == nil {
			yyv3843 = []LimitRange{}
			yyc3843 = true
		}
	}
	yyh3843.End()
	if yyc3843 {
		*v = yyv3843
	}
}

func (x codecSelfer1234) encSliceResourceQuota(v []ResourceQuota, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3847 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3848 := &yyv3847
		yy3848.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceResourceQuota(v *[]ResourceQuota, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3849 := *v
	yyh3849, yyl3849 := z.DecSliceHelperStart()
	var yyc3849 bool
	if yyl3849 == 0 {
		if yyv3849 == nil {
			yyv3849 = []ResourceQuota{}
			yyc3849 = true
		} else if len(yyv3849) != 0 {
			yyv3849 = yyv3849[:0]
			yyc3849 = true
		}
	} else if yyl3849 > 0 {
		var yyrr3849, yyrl3849 int
		var yyrt3849 bool
		if yyl3849 > cap(yyv3849) {

			yyrg3849 := len(yyv3849) > 0
			yyv23849 := yyv3849
			yyrl3849, yyrt3849 = z.DecInferLen(yyl3849, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3849 {
				if yyrl3849 <= cap(yyv3849) {
					yyv3849 = yyv3849[:yyrl3849]
				} else {
					yyv3849 = make([]ResourceQuota, yyrl3849)
				}
			} else {
				yyv3849 = make([]ResourceQuota, yyrl3849)
			}
			yyc3849 = true
			yyrr3849 = len(yyv3849)
			if yyrg3849 {
				copy(yyv3849, yyv23849)
			}
		} else if yyl3849 != len(yyv3849) {
			yyv3849 = yyv3849[:yyl3849]
			yyc3849 = true
		}
		yyj3849 := 0
		for ; yyj3849 < yyrr3849; yyj3849++ {
			yyh3849.ElemContainerState(yyj3849)
			if r.TryDecodeAsNil() {
				yyv3849[yyj3849] = ResourceQuota{}
			} else {
				yyv3850 := &yyv3849[yyj3849]
				yyv3850.CodecDecodeSelf(d)
			}

		}
		if yyrt3849 {
			for ; yyj3849 < yyl3849; yyj3849++ {
				yyv3849 = append(yyv3849, ResourceQuota{})
				yyh3849.ElemContainerState(yyj3849)
				if r.TryDecodeAsNil() {
					yyv3849[yyj3849] = ResourceQuota{}
				} else {
					yyv3851 := &yyv3849[yyj3849]
					yyv3851.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3849 := 0
		for ; !r.CheckBreak(); yyj3849++ {

			if yyj3849 >= len(yyv3849) {
				yyv3849 = append(yyv3849, ResourceQuota{}) // var yyz3849 ResourceQuota
				yyc3849 = true
			}
			yyh3849.ElemContainerState(yyj3849)
			if yyj3849 < len(yyv3849) {
				if r.TryDecodeAsNil() {
					yyv3849[yyj3849] = ResourceQuota{}
				} else {
					yyv3852 := &yyv3849[yyj3849]
					yyv3852.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3849 < len(yyv3849) {
			yyv3849 = yyv3849[:yyj3849]
			yyc3849 = true
		} else if yyj3849 == 0 && yyv3849 == nil {
			yyv3849 = []ResourceQuota{}
			yyc3849 = true
		}
	}
	yyh3849.End()
	if yyc3849 {
		*v = yyv3849
	}
}

func (x codecSelfer1234) encMapstringSliceuint8(v map[string][]uint8, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	for yyk3853, yyv3853 := range v {
		z.EncSendContainerState(codecSelfer_containerMapKey1234)
		yym3854 := z.EncBinary()
		_ = yym3854
		if false {
		} else {
			r.EncodeString(codecSelferC_UTF81234, string(yyk3853))
		}
		z.EncSendContainerState(codecSelfer_containerMapValue1234)
		if yyv3853 == nil {
			r.EncodeNil()
		} else {
			yym3855 := z.EncBinary()
			_ = yym3855
			if false {
			} else {
				r.EncodeStringBytes(codecSelferC_RAW1234, []byte(yyv3853))
			}
		}
	}
	z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) decMapstringSliceuint8(v *map[string][]uint8, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3856 := *v
	yyl3856 := r.ReadMapStart()
	yybh3856 := z.DecBasicHandle()
	if yyv3856 == nil {
		yyrl3856, _ := z.DecInferLen(yyl3856, yybh3856.MaxInitLen, 40)
		yyv3856 = make(map[string][]uint8, yyrl3856)
		*v = yyv3856
	}
	var yymk3856 string
	var yymv3856 []uint8
	var yymg3856 bool
	if yybh3856.MapValueReset {
		yymg3856 = true
	}
	if yyl3856 > 0 {
		for yyj3856 := 0; yyj3856 < yyl3856; yyj3856++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk3856 = ""
			} else {
				yymk3856 = string(r.DecodeString())
			}

			if yymg3856 {
				yymv3856 = yyv3856[yymk3856]
			} else {
				yymv3856 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv3856 = nil
			} else {
				yyv3858 := &yymv3856
				yym3859 := z.DecBinary()
				_ = yym3859
				if false {
				} else {
					*yyv3858 = r.DecodeBytes(*(*[]byte)(yyv3858), false, false)
				}
			}

			if yyv3856 != nil {
				yyv3856[yymk3856] = yymv3856
			}
		}
	} else if yyl3856 < 0 {
		for yyj3856 := 0; !r.CheckBreak(); yyj3856++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk3856 = ""
			} else {
				yymk3856 = string(r.DecodeString())
			}

			if yymg3856 {
				yymv3856 = yyv3856[yymk3856]
			} else {
				yymv3856 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv3856 = nil
			} else {
				yyv3861 := &yymv3856
				yym3862 := z.DecBinary()
				_ = yym3862
				if false {
				} else {
					*yyv3861 = r.DecodeBytes(*(*[]byte)(yyv3861), false, false)
				}
			}

			if yyv3856 != nil {
				yyv3856[yymk3856] = yymv3856
			}
		}
	} // else len==0: TODO: Should we clear map entries?
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) encSliceSecret(v []Secret, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3863 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3864 := &yyv3863
		yy3864.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceSecret(v *[]Secret, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3865 := *v
	yyh3865, yyl3865 := z.DecSliceHelperStart()
	var yyc3865 bool
	if yyl3865 == 0 {
		if yyv3865 == nil {
			yyv3865 = []Secret{}
			yyc3865 = true
		} else if len(yyv3865) != 0 {
			yyv3865 = yyv3865[:0]
			yyc3865 = true
		}
	} else if yyl3865 > 0 {
		var yyrr3865, yyrl3865 int
		var yyrt3865 bool
		if yyl3865 > cap(yyv3865) {

			yyrg3865 := len(yyv3865) > 0
			yyv23865 := yyv3865
			yyrl3865, yyrt3865 = z.DecInferLen(yyl3865, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3865 {
				if yyrl3865 <= cap(yyv3865) {
					yyv3865 = yyv3865[:yyrl3865]
				} else {
					yyv3865 = make([]Secret, yyrl3865)
				}
			} else {
				yyv3865 = make([]Secret, yyrl3865)
			}
			yyc3865 = true
			yyrr3865 = len(yyv3865)
			if yyrg3865 {
				copy(yyv3865, yyv23865)
			}
		} else if yyl3865 != len(yyv3865) {
			yyv3865 = yyv3865[:yyl3865]
			yyc3865 = true
		}
		yyj3865 := 0
		for ; yyj3865 < yyrr3865; yyj3865++ {
			yyh3865.ElemContainerState(yyj3865)
			if r.TryDecodeAsNil() {
				yyv3865[yyj3865] = Secret{}
			} else {
				yyv3866 := &yyv3865[yyj3865]
				yyv3866.CodecDecodeSelf(d)
			}

		}
		if yyrt3865 {
			for ; yyj3865 < yyl3865; yyj3865++ {
				yyv3865 = append(yyv3865, Secret{})
				yyh3865.ElemContainerState(yyj3865)
				if r.TryDecodeAsNil() {
					yyv3865[yyj3865] = Secret{}
				} else {
					yyv3867 := &yyv3865[yyj3865]
					yyv3867.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3865 := 0
		for ; !r.CheckBreak(); yyj3865++ {

			if yyj3865 >= len(yyv3865) {
				yyv3865 = append(yyv3865, Secret{}) // var yyz3865 Secret
				yyc3865 = true
			}
			yyh3865.ElemContainerState(yyj3865)
			if yyj3865 < len(yyv3865) {
				if r.TryDecodeAsNil() {
					yyv3865[yyj3865] = Secret{}
				} else {
					yyv3868 := &yyv3865[yyj3865]
					yyv3868.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3865 < len(yyv3865) {
			yyv3865 = yyv3865[:yyj3865]
			yyc3865 = true
		} else if yyj3865 == 0 && yyv3865 == nil {
			yyv3865 = []Secret{}
			yyc3865 = true
		}
	}
	yyh3865.End()
	if yyc3865 {
		*v = yyv3865
	}
}

func (x codecSelfer1234) encSliceComponentCondition(v []ComponentCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3869 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3870 := &yyv3869
		yy3870.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceComponentCondition(v *[]ComponentCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3871 := *v
	yyh3871, yyl3871 := z.DecSliceHelperStart()
	var yyc3871 bool
	if yyl3871 == 0 {
		if yyv3871 == nil {
			yyv3871 = []ComponentCondition{}
			yyc3871 = true
		} else if len(yyv3871) != 0 {
			yyv3871 = yyv3871[:0]
			yyc3871 = true
		}
	} else if yyl3871 > 0 {
		var yyrr3871, yyrl3871 int
		var yyrt3871 bool
		if yyl3871 > cap(yyv3871) {

			yyrg3871 := len(yyv3871) > 0
			yyv23871 := yyv3871
			yyrl3871, yyrt3871 = z.DecInferLen(yyl3871, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt3871 {
				if yyrl3871 <= cap(yyv3871) {
					yyv3871 = yyv3871[:yyrl3871]
				} else {
					yyv3871 = make([]ComponentCondition, yyrl3871)
				}
			} else {
				yyv3871 = make([]ComponentCondition, yyrl3871)
			}
			yyc3871 = true
			yyrr3871 = len(yyv3871)
			if yyrg3871 {
				copy(yyv3871, yyv23871)
			}
		} else if yyl3871 != len(yyv3871) {
			yyv3871 = yyv3871[:yyl3871]
			yyc3871 = true
		}
		yyj3871 := 0
		for ; yyj3871 < yyrr3871; yyj3871++ {
			yyh3871.ElemContainerState(yyj3871)
			if r.TryDecodeAsNil() {
				yyv3871[yyj3871] = ComponentCondition{}
			} else {
				yyv3872 := &yyv3871[yyj3871]
				yyv3872.CodecDecodeSelf(d)
			}

		}
		if yyrt3871 {
			for ; yyj3871 < yyl3871; yyj3871++ {
				yyv3871 = append(yyv3871, ComponentCondition{})
				yyh3871.ElemContainerState(yyj3871)
				if r.TryDecodeAsNil() {
					yyv3871[yyj3871] = ComponentCondition{}
				} else {
					yyv3873 := &yyv3871[yyj3871]
					yyv3873.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3871 := 0
		for ; !r.CheckBreak(); yyj3871++ {

			if yyj3871 >= len(yyv3871) {
				yyv3871 = append(yyv3871, ComponentCondition{}) // var yyz3871 ComponentCondition
				yyc3871 = true
			}
			yyh3871.ElemContainerState(yyj3871)
			if yyj3871 < len(yyv3871) {
				if r.TryDecodeAsNil() {
					yyv3871[yyj3871] = ComponentCondition{}
				} else {
					yyv3874 := &yyv3871[yyj3871]
					yyv3874.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3871 < len(yyv3871) {
			yyv3871 = yyv3871[:yyj3871]
			yyc3871 = true
		} else if yyj3871 == 0 && yyv3871 == nil {
			yyv3871 = []ComponentCondition{}
			yyc3871 = true
		}
	}
	yyh3871.End()
	if yyc3871 {
		*v = yyv3871
	}
}

func (x codecSelfer1234) encSliceComponentStatus(v []ComponentStatus, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3875 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3876 := &yyv3875
		yy3876.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceComponentStatus(v *[]ComponentStatus, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3877 := *v
	yyh3877, yyl3877 := z.DecSliceHelperStart()
	var yyc3877 bool
	if yyl3877 == 0 {
		if yyv3877 == nil {
			yyv3877 = []ComponentStatus{}
			yyc3877 = true
		} else if len(yyv3877) != 0 {
			yyv3877 = yyv3877[:0]
			yyc3877 = true
		}
	} else if yyl3877 > 0 {
		var yyrr3877, yyrl3877 int
		var yyrt3877 bool
		if yyl3877 > cap(yyv3877) {

			yyrg3877 := len(yyv3877) > 0
			yyv23877 := yyv3877
			yyrl3877, yyrt3877 = z.DecInferLen(yyl3877, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3877 {
				if yyrl3877 <= cap(yyv3877) {
					yyv3877 = yyv3877[:yyrl3877]
				} else {
					yyv3877 = make([]ComponentStatus, yyrl3877)
				}
			} else {
				yyv3877 = make([]ComponentStatus, yyrl3877)
			}
			yyc3877 = true
			yyrr3877 = len(yyv3877)
			if yyrg3877 {
				copy(yyv3877, yyv23877)
			}
		} else if yyl3877 != len(yyv3877) {
			yyv3877 = yyv3877[:yyl3877]
			yyc3877 = true
		}
		yyj3877 := 0
		for ; yyj3877 < yyrr3877; yyj3877++ {
			yyh3877.ElemContainerState(yyj3877)
			if r.TryDecodeAsNil() {
				yyv3877[yyj3877] = ComponentStatus{}
			} else {
				yyv3878 := &yyv3877[yyj3877]
				yyv3878.CodecDecodeSelf(d)
			}

		}
		if yyrt3877 {
			for ; yyj3877 < yyl3877; yyj3877++ {
				yyv3877 = append(yyv3877, ComponentStatus{})
				yyh3877.ElemContainerState(yyj3877)
				if r.TryDecodeAsNil() {
					yyv3877[yyj3877] = ComponentStatus{}
				} else {
					yyv3879 := &yyv3877[yyj3877]
					yyv3879.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3877 := 0
		for ; !r.CheckBreak(); yyj3877++ {

			if yyj3877 >= len(yyv3877) {
				yyv3877 = append(yyv3877, ComponentStatus{}) // var yyz3877 ComponentStatus
				yyc3877 = true
			}
			yyh3877.ElemContainerState(yyj3877)
			if yyj3877 < len(yyv3877) {
				if r.TryDecodeAsNil() {
					yyv3877[yyj3877] = ComponentStatus{}
				} else {
					yyv3880 := &yyv3877[yyj3877]
					yyv3880.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3877 < len(yyv3877) {
			yyv3877 = yyv3877[:yyj3877]
			yyc3877 = true
		} else if yyj3877 == 0 && yyv3877 == nil {
			yyv3877 = []ComponentStatus{}
			yyc3877 = true
		}
	}
	yyh3877.End()
	if yyc3877 {
		*v = yyv3877
	}
}

func (x codecSelfer1234) encSliceDownwardAPIVolumeFile(v []DownwardAPIVolumeFile, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3881 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3882 := &yyv3881
		yy3882.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceDownwardAPIVolumeFile(v *[]DownwardAPIVolumeFile, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3883 := *v
	yyh3883, yyl3883 := z.DecSliceHelperStart()
	var yyc3883 bool
	if yyl3883 == 0 {
		if yyv3883 == nil {
			yyv3883 = []DownwardAPIVolumeFile{}
			yyc3883 = true
		} else if len(yyv3883) != 0 {
			yyv3883 = yyv3883[:0]
			yyc3883 = true
		}
	} else if yyl3883 > 0 {
		var yyrr3883, yyrl3883 int
		var yyrt3883 bool
		if yyl3883 > cap(yyv3883) {

			yyrg3883 := len(yyv3883) > 0
			yyv23883 := yyv3883
			yyrl3883, yyrt3883 = z.DecInferLen(yyl3883, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt3883 {
				if yyrl3883 <= cap(yyv3883) {
					yyv3883 = yyv3883[:yyrl3883]
				} else {
					yyv3883 = make([]DownwardAPIVolumeFile, yyrl3883)
				}
			} else {
				yyv3883 = make([]DownwardAPIVolumeFile, yyrl3883)
			}
			yyc3883 = true
			yyrr3883 = len(yyv3883)
			if yyrg3883 {
				copy(yyv3883, yyv23883)
			}
		} else if yyl3883 != len(yyv3883) {
			yyv3883 = yyv3883[:yyl3883]
			yyc3883 = true
		}
		yyj3883 := 0
		for ; yyj3883 < yyrr3883; yyj3883++ {
			yyh3883.ElemContainerState(yyj3883)
			if r.TryDecodeAsNil() {
				yyv3883[yyj3883] = DownwardAPIVolumeFile{}
			} else {
				yyv3884 := &yyv3883[yyj3883]
				yyv3884.CodecDecodeSelf(d)
			}

		}
		if yyrt3883 {
			for ; yyj3883 < yyl3883; yyj3883++ {
				yyv3883 = append(yyv3883, DownwardAPIVolumeFile{})
				yyh3883.ElemContainerState(yyj3883)
				if r.TryDecodeAsNil() {
					yyv3883[yyj3883] = DownwardAPIVolumeFile{}
				} else {
					yyv3885 := &yyv3883[yyj3883]
					yyv3885.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj3883 := 0
		for ; !r.CheckBreak(); yyj3883++ {

			if yyj3883 >= len(yyv3883) {
				yyv3883 = append(yyv3883, DownwardAPIVolumeFile{}) // var yyz3883 DownwardAPIVolumeFile
				yyc3883 = true
			}
			yyh3883.ElemContainerState(yyj3883)
			if yyj3883 < len(yyv3883) {
				if r.TryDecodeAsNil() {
					yyv3883[yyj3883] = DownwardAPIVolumeFile{}
				} else {
					yyv3886 := &yyv3883[yyj3883]
					yyv3886.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3883 < len(yyv3883) {
			yyv3883 = yyv3883[:yyj3883]
			yyc3883 = true
		} else if yyj3883 == 0 && yyv3883 == nil {
			yyv3883 = []DownwardAPIVolumeFile{}
			yyc3883 = true
		}
	}
	yyh3883.End()
	if yyc3883 {
		*v = yyv3883
	}
}
