// +build go1.6
// +build codecgen,!notfastpath generated,!notfastpath

// Code generated by codecgen - DO NOT EDIT.

package codec

import (
	"errors"
	"runtime"
	"strconv"
)

const (
	// ----- content types ----
	codecSelferCcUTF819781 = 1
	codecSelferCcRAW19781  = 255
	// ----- value types used ----
	codecSelferValueTypeArray19781     = 10
	codecSelferValueTypeMap19781       = 9
	codecSelferValueTypeString19781    = 6
	codecSelferValueTypeInt19781       = 2
	codecSelferValueTypeUint19781      = 3
	codecSelferValueTypeFloat19781     = 4
	codecSelferValueTypeNil19781       = 1
	codecSelferBitsize19781            = uint8(32 << (^uint(0) >> 63))
	codecSelferDecContainerLenNil19781 = -2147483648
)

var (
	errCodecSelferOnlyMapOrArrayEncodeToStruct19781 = errors.New(`only encoded map or array can be decoded into a struct`)
)

type codecSelfer19781 struct{}

func codecSelfer19781False() bool { return false }

func init() {
	if GenVersion != 16 {
		_, file, _, _ := runtime.Caller(0)
		ver := strconv.FormatInt(int64(GenVersion), 10)
		panic("codecgen version mismatch: current: 16, need " + ver + ". Re-generate file: " + file)
	}
}

func (x *TestMammoth2) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yysep2 := !z.EncBinary()
		yy2arr2 := z.EncBasicHandle().StructToArray
		_, _ = yysep2, yy2arr2
		const yyr2 bool = false // struct tag has 'toArray'
		var yyn4 bool = x.FptrIntf == nil
		var yyn6 bool = x.FptrString == nil
		var yyn8 bool = x.FptrBytes == nil
		var yyn10 bool = x.FptrFloat32 == nil
		var yyn12 bool = x.FptrFloat64 == nil
		var yyn14 bool = x.FptrUint == nil
		var yyn16 bool = x.FptrUint8 == nil
		var yyn18 bool = x.FptrUint16 == nil
		var yyn20 bool = x.FptrUint32 == nil
		var yyn22 bool = x.FptrUint64 == nil
		var yyn24 bool = x.FptrUintptr == nil
		var yyn26 bool = x.FptrInt == nil
		var yyn28 bool = x.FptrInt8 == nil
		var yyn30 bool = x.FptrInt16 == nil
		var yyn32 bool = x.FptrInt32 == nil
		var yyn34 bool = x.FptrInt64 == nil
		var yyn36 bool = x.FptrBool == nil
		var yyn38 bool = x.FptrSliceIntf == nil
		var yyn40 bool = x.FptrSliceString == nil
		var yyn42 bool = x.FptrSliceBytes == nil
		var yyn44 bool = x.FptrSliceFloat32 == nil
		var yyn46 bool = x.FptrSliceFloat64 == nil
		var yyn48 bool = x.FptrSliceUint == nil
		var yyn50 bool = x.FptrSliceUint16 == nil
		var yyn52 bool = x.FptrSliceUint32 == nil
		var yyn54 bool = x.FptrSliceUint64 == nil
		var yyn56 bool = x.FptrSliceInt == nil
		var yyn58 bool = x.FptrSliceInt8 == nil
		var yyn60 bool = x.FptrSliceInt16 == nil
		var yyn62 bool = x.FptrSliceInt32 == nil
		var yyn64 bool = x.FptrSliceInt64 == nil
		var yyn66 bool = x.FptrSliceBool == nil
		var yyn68 bool = x.FptrMapStringIntf == nil
		var yyn70 bool = x.FptrMapStringString == nil
		var yyn72 bool = x.FptrMapStringBytes == nil
		var yyn74 bool = x.FptrMapStringUint == nil
		var yyn76 bool = x.FptrMapStringUint8 == nil
		var yyn78 bool = x.FptrMapStringUint64 == nil
		var yyn80 bool = x.FptrMapStringInt == nil
		var yyn82 bool = x.FptrMapStringInt64 == nil
		var yyn84 bool = x.FptrMapStringFloat32 == nil
		var yyn86 bool = x.FptrMapStringFloat64 == nil
		var yyn88 bool = x.FptrMapStringBool == nil
		var yyn90 bool = x.FptrMapUintIntf == nil
		var yyn92 bool = x.FptrMapUintString == nil
		var yyn94 bool = x.FptrMapUintBytes == nil
		var yyn96 bool = x.FptrMapUintUint == nil
		var yyn98 bool = x.FptrMapUintUint8 == nil
		var yyn100 bool = x.FptrMapUintUint64 == nil
		var yyn102 bool = x.FptrMapUintInt == nil
		var yyn104 bool = x.FptrMapUintInt64 == nil
		var yyn106 bool = x.FptrMapUintFloat32 == nil
		var yyn108 bool = x.FptrMapUintFloat64 == nil
		var yyn110 bool = x.FptrMapUintBool == nil
		var yyn112 bool = x.FptrMapUint8Intf == nil
		var yyn114 bool = x.FptrMapUint8String == nil
		var yyn116 bool = x.FptrMapUint8Bytes == nil
		var yyn118 bool = x.FptrMapUint8Uint == nil
		var yyn120 bool = x.FptrMapUint8Uint8 == nil
		var yyn122 bool = x.FptrMapUint8Uint64 == nil
		var yyn124 bool = x.FptrMapUint8Int == nil
		var yyn126 bool = x.FptrMapUint8Int64 == nil
		var yyn128 bool = x.FptrMapUint8Float32 == nil
		var yyn130 bool = x.FptrMapUint8Float64 == nil
		var yyn132 bool = x.FptrMapUint8Bool == nil
		var yyn134 bool = x.FptrMapUint64Intf == nil
		var yyn136 bool = x.FptrMapUint64String == nil
		var yyn138 bool = x.FptrMapUint64Bytes == nil
		var yyn140 bool = x.FptrMapUint64Uint == nil
		var yyn142 bool = x.FptrMapUint64Uint8 == nil
		var yyn144 bool = x.FptrMapUint64Uint64 == nil
		var yyn146 bool = x.FptrMapUint64Int == nil
		var yyn148 bool = x.FptrMapUint64Int64 == nil
		var yyn150 bool = x.FptrMapUint64Float32 == nil
		var yyn152 bool = x.FptrMapUint64Float64 == nil
		var yyn154 bool = x.FptrMapUint64Bool == nil
		var yyn156 bool = x.FptrMapIntIntf == nil
		var yyn158 bool = x.FptrMapIntString == nil
		var yyn160 bool = x.FptrMapIntBytes == nil
		var yyn162 bool = x.FptrMapIntUint == nil
		var yyn164 bool = x.FptrMapIntUint8 == nil
		var yyn166 bool = x.FptrMapIntUint64 == nil
		var yyn168 bool = x.FptrMapIntInt == nil
		var yyn170 bool = x.FptrMapIntInt64 == nil
		var yyn172 bool = x.FptrMapIntFloat32 == nil
		var yyn174 bool = x.FptrMapIntFloat64 == nil
		var yyn176 bool = x.FptrMapIntBool == nil
		var yyn178 bool = x.FptrMapInt64Intf == nil
		var yyn180 bool = x.FptrMapInt64String == nil
		var yyn182 bool = x.FptrMapInt64Bytes == nil
		var yyn184 bool = x.FptrMapInt64Uint == nil
		var yyn186 bool = x.FptrMapInt64Uint8 == nil
		var yyn188 bool = x.FptrMapInt64Uint64 == nil
		var yyn190 bool = x.FptrMapInt64Int == nil
		var yyn192 bool = x.FptrMapInt64Int64 == nil
		var yyn194 bool = x.FptrMapInt64Float32 == nil
		var yyn196 bool = x.FptrMapInt64Float64 == nil
		var yyn198 bool = x.FptrMapInt64Bool == nil
		if yyr2 || yy2arr2 {
			z.EncWriteArrayStart(196)
			z.EncWriteArrayElem()
			z.EncFallback(x.FIntf)
			if yyn4 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy200 := *x.FptrIntf
				z.EncFallback(yy200)
			}
			z.EncWriteArrayElem()
			r.EncodeString(string(x.FString))
			if yyn6 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy203 := *x.FptrString
				r.EncodeString(string(yy203))
			}
			z.EncWriteArrayElem()
			if x.FBytes == nil {
				r.EncodeNil()
			} else {
				r.EncodeStringBytesRaw([]byte(x.FBytes))
			} // end block: if x.FBytes slice == nil
			if yyn8 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy206 := *x.FptrBytes
				if yy206 == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(yy206))
				} // end block: if yy206 slice == nil
			}
			z.EncWriteArrayElem()
			r.EncodeFloat32(float32(x.FFloat32))
			if yyn10 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy209 := *x.FptrFloat32
				r.EncodeFloat32(float32(yy209))
			}
			z.EncWriteArrayElem()
			r.EncodeFloat64(float64(x.FFloat64))
			if yyn12 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy212 := *x.FptrFloat64
				r.EncodeFloat64(float64(yy212))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint))
			if yyn14 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy215 := *x.FptrUint
				r.EncodeUint(uint64(yy215))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint8))
			if yyn16 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy218 := *x.FptrUint8
				r.EncodeUint(uint64(yy218))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint16))
			if yyn18 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy221 := *x.FptrUint16
				r.EncodeUint(uint64(yy221))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint32))
			if yyn20 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy224 := *x.FptrUint32
				r.EncodeUint(uint64(yy224))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint64))
			if yyn22 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy227 := *x.FptrUint64
				r.EncodeUint(uint64(yy227))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUintptr))
			if yyn24 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy230 := *x.FptrUintptr
				r.EncodeUint(uint64(yy230))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt))
			if yyn26 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy233 := *x.FptrInt
				r.EncodeInt(int64(yy233))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt8))
			if yyn28 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy236 := *x.FptrInt8
				r.EncodeInt(int64(yy236))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt16))
			if yyn30 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy239 := *x.FptrInt16
				r.EncodeInt(int64(yy239))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt32))
			if yyn32 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy242 := *x.FptrInt32
				r.EncodeInt(int64(yy242))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt64))
			if yyn34 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy245 := *x.FptrInt64
				r.EncodeInt(int64(yy245))
			}
			z.EncWriteArrayElem()
			r.EncodeBool(bool(x.FBool))
			if yyn36 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy248 := *x.FptrBool
				r.EncodeBool(bool(yy248))
			}
			z.EncWriteArrayElem()
			if x.FSliceIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceIntfV(x.FSliceIntf, e)
			} // end block: if x.FSliceIntf slice == nil
			if yyn38 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy251 := *x.FptrSliceIntf
				if yy251 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntfV(yy251, e)
				} // end block: if yy251 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceString == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceStringV(x.FSliceString, e)
			} // end block: if x.FSliceString slice == nil
			if yyn40 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy254 := *x.FptrSliceString
				if yy254 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceStringV(yy254, e)
				} // end block: if yy254 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceBytesV(x.FSliceBytes, e)
			} // end block: if x.FSliceBytes slice == nil
			if yyn42 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy257 := *x.FptrSliceBytes
				if yy257 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBytesV(yy257, e)
				} // end block: if yy257 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceFloat32V(x.FSliceFloat32, e)
			} // end block: if x.FSliceFloat32 slice == nil
			if yyn44 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy260 := *x.FptrSliceFloat32
				if yy260 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat32V(yy260, e)
				} // end block: if yy260 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceFloat64V(x.FSliceFloat64, e)
			} // end block: if x.FSliceFloat64 slice == nil
			if yyn46 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy263 := *x.FptrSliceFloat64
				if yy263 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat64V(yy263, e)
				} // end block: if yy263 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceUint == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUintV(x.FSliceUint, e)
			} // end block: if x.FSliceUint slice == nil
			if yyn48 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy266 := *x.FptrSliceUint
				if yy266 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUintV(yy266, e)
				} // end block: if yy266 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceUint16 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUint16V(x.FSliceUint16, e)
			} // end block: if x.FSliceUint16 slice == nil
			if yyn50 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy269 := *x.FptrSliceUint16
				if yy269 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint16V(yy269, e)
				} // end block: if yy269 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceUint32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUint32V(x.FSliceUint32, e)
			} // end block: if x.FSliceUint32 slice == nil
			if yyn52 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy272 := *x.FptrSliceUint32
				if yy272 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint32V(yy272, e)
				} // end block: if yy272 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUint64V(x.FSliceUint64, e)
			} // end block: if x.FSliceUint64 slice == nil
			if yyn54 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy275 := *x.FptrSliceUint64
				if yy275 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint64V(yy275, e)
				} // end block: if yy275 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceIntV(x.FSliceInt, e)
			} // end block: if x.FSliceInt slice == nil
			if yyn56 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy278 := *x.FptrSliceInt
				if yy278 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntV(yy278, e)
				} // end block: if yy278 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceInt8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt8V(x.FSliceInt8, e)
			} // end block: if x.FSliceInt8 slice == nil
			if yyn58 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy281 := *x.FptrSliceInt8
				if yy281 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt8V(yy281, e)
				} // end block: if yy281 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceInt16 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt16V(x.FSliceInt16, e)
			} // end block: if x.FSliceInt16 slice == nil
			if yyn60 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy284 := *x.FptrSliceInt16
				if yy284 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt16V(yy284, e)
				} // end block: if yy284 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceInt32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt32V(x.FSliceInt32, e)
			} // end block: if x.FSliceInt32 slice == nil
			if yyn62 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy287 := *x.FptrSliceInt32
				if yy287 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt32V(yy287, e)
				} // end block: if yy287 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt64V(x.FSliceInt64, e)
			} // end block: if x.FSliceInt64 slice == nil
			if yyn64 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy290 := *x.FptrSliceInt64
				if yy290 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt64V(yy290, e)
				} // end block: if yy290 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceBoolV(x.FSliceBool, e)
			} // end block: if x.FSliceBool slice == nil
			if yyn66 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy293 := *x.FptrSliceBool
				if yy293 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBoolV(yy293, e)
				} // end block: if yy293 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringIntfV(x.FMapStringIntf, e)
			} // end block: if x.FMapStringIntf map == nil
			if yyn68 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy296 := *x.FptrMapStringIntf
				if yy296 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntfV(yy296, e)
				} // end block: if yy296 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringString == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringStringV(x.FMapStringString, e)
			} // end block: if x.FMapStringString map == nil
			if yyn70 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy299 := *x.FptrMapStringString
				if yy299 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringStringV(yy299, e)
				} // end block: if yy299 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringBytesV(x.FMapStringBytes, e)
			} // end block: if x.FMapStringBytes map == nil
			if yyn72 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy302 := *x.FptrMapStringBytes
				if yy302 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBytesV(yy302, e)
				} // end block: if yy302 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringUint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringUintV(x.FMapStringUint, e)
			} // end block: if x.FMapStringUint map == nil
			if yyn74 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy305 := *x.FptrMapStringUint
				if yy305 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUintV(yy305, e)
				} // end block: if yy305 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringUint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringUint8V(x.FMapStringUint8, e)
			} // end block: if x.FMapStringUint8 map == nil
			if yyn76 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy308 := *x.FptrMapStringUint8
				if yy308 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint8V(yy308, e)
				} // end block: if yy308 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringUint64V(x.FMapStringUint64, e)
			} // end block: if x.FMapStringUint64 map == nil
			if yyn78 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy311 := *x.FptrMapStringUint64
				if yy311 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint64V(yy311, e)
				} // end block: if yy311 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringIntV(x.FMapStringInt, e)
			} // end block: if x.FMapStringInt map == nil
			if yyn80 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy314 := *x.FptrMapStringInt
				if yy314 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntV(yy314, e)
				} // end block: if yy314 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringInt64V(x.FMapStringInt64, e)
			} // end block: if x.FMapStringInt64 map == nil
			if yyn82 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy317 := *x.FptrMapStringInt64
				if yy317 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringInt64V(yy317, e)
				} // end block: if yy317 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringFloat32V(x.FMapStringFloat32, e)
			} // end block: if x.FMapStringFloat32 map == nil
			if yyn84 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy320 := *x.FptrMapStringFloat32
				if yy320 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringFloat32V(yy320, e)
				} // end block: if yy320 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringFloat64V(x.FMapStringFloat64, e)
			} // end block: if x.FMapStringFloat64 map == nil
			if yyn86 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy323 := *x.FptrMapStringFloat64
				if yy323 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringFloat64V(yy323, e)
				} // end block: if yy323 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringBoolV(x.FMapStringBool, e)
			} // end block: if x.FMapStringBool map == nil
			if yyn88 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy326 := *x.FptrMapStringBool
				if yy326 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBoolV(yy326, e)
				} // end block: if yy326 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintIntfV(x.FMapUintIntf, e)
			} // end block: if x.FMapUintIntf map == nil
			if yyn90 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy329 := *x.FptrMapUintIntf
				if yy329 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintIntfV(yy329, e)
				} // end block: if yy329 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintString == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintStringV(x.FMapUintString, e)
			} // end block: if x.FMapUintString map == nil
			if yyn92 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy332 := *x.FptrMapUintString
				if yy332 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintStringV(yy332, e)
				} // end block: if yy332 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintBytesV(x.FMapUintBytes, e)
			} // end block: if x.FMapUintBytes map == nil
			if yyn94 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy335 := *x.FptrMapUintBytes
				if yy335 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintBytesV(yy335, e)
				} // end block: if yy335 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintUint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintUintV(x.FMapUintUint, e)
			} // end block: if x.FMapUintUint map == nil
			if yyn96 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy338 := *x.FptrMapUintUint
				if yy338 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintUintV(yy338, e)
				} // end block: if yy338 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintUint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintUint8V(x.FMapUintUint8, e)
			} // end block: if x.FMapUintUint8 map == nil
			if yyn98 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy341 := *x.FptrMapUintUint8
				if yy341 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintUint8V(yy341, e)
				} // end block: if yy341 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintUint64V(x.FMapUintUint64, e)
			} // end block: if x.FMapUintUint64 map == nil
			if yyn100 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy344 := *x.FptrMapUintUint64
				if yy344 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintUint64V(yy344, e)
				} // end block: if yy344 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintIntV(x.FMapUintInt, e)
			} // end block: if x.FMapUintInt map == nil
			if yyn102 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy347 := *x.FptrMapUintInt
				if yy347 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintIntV(yy347, e)
				} // end block: if yy347 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintInt64V(x.FMapUintInt64, e)
			} // end block: if x.FMapUintInt64 map == nil
			if yyn104 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy350 := *x.FptrMapUintInt64
				if yy350 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintInt64V(yy350, e)
				} // end block: if yy350 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintFloat32V(x.FMapUintFloat32, e)
			} // end block: if x.FMapUintFloat32 map == nil
			if yyn106 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy353 := *x.FptrMapUintFloat32
				if yy353 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintFloat32V(yy353, e)
				} // end block: if yy353 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintFloat64V(x.FMapUintFloat64, e)
			} // end block: if x.FMapUintFloat64 map == nil
			if yyn108 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy356 := *x.FptrMapUintFloat64
				if yy356 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintFloat64V(yy356, e)
				} // end block: if yy356 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUintBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintBoolV(x.FMapUintBool, e)
			} // end block: if x.FMapUintBool map == nil
			if yyn110 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy359 := *x.FptrMapUintBool
				if yy359 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintBoolV(yy359, e)
				} // end block: if yy359 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8IntfV(x.FMapUint8Intf, e)
			} // end block: if x.FMapUint8Intf map == nil
			if yyn112 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy362 := *x.FptrMapUint8Intf
				if yy362 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntfV(yy362, e)
				} // end block: if yy362 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8StringV(x.FMapUint8String, e)
			} // end block: if x.FMapUint8String map == nil
			if yyn114 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy365 := *x.FptrMapUint8String
				if yy365 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8StringV(yy365, e)
				} // end block: if yy365 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8BytesV(x.FMapUint8Bytes, e)
			} // end block: if x.FMapUint8Bytes map == nil
			if yyn116 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy368 := *x.FptrMapUint8Bytes
				if yy368 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BytesV(yy368, e)
				} // end block: if yy368 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Uint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8UintV(x.FMapUint8Uint, e)
			} // end block: if x.FMapUint8Uint map == nil
			if yyn118 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy371 := *x.FptrMapUint8Uint
				if yy371 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8UintV(yy371, e)
				} // end block: if yy371 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Uint8V(x.FMapUint8Uint8, e)
			} // end block: if x.FMapUint8Uint8 map == nil
			if yyn120 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy374 := *x.FptrMapUint8Uint8
				if yy374 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint8V(yy374, e)
				} // end block: if yy374 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Uint64V(x.FMapUint8Uint64, e)
			} // end block: if x.FMapUint8Uint64 map == nil
			if yyn122 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy377 := *x.FptrMapUint8Uint64
				if yy377 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint64V(yy377, e)
				} // end block: if yy377 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8IntV(x.FMapUint8Int, e)
			} // end block: if x.FMapUint8Int map == nil
			if yyn124 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy380 := *x.FptrMapUint8Int
				if yy380 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntV(yy380, e)
				} // end block: if yy380 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Int64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Int64V(x.FMapUint8Int64, e)
			} // end block: if x.FMapUint8Int64 map == nil
			if yyn126 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy383 := *x.FptrMapUint8Int64
				if yy383 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Int64V(yy383, e)
				} // end block: if yy383 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Float32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Float32V(x.FMapUint8Float32, e)
			} // end block: if x.FMapUint8Float32 map == nil
			if yyn128 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy386 := *x.FptrMapUint8Float32
				if yy386 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Float32V(yy386, e)
				} // end block: if yy386 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Float64V(x.FMapUint8Float64, e)
			} // end block: if x.FMapUint8Float64 map == nil
			if yyn130 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy389 := *x.FptrMapUint8Float64
				if yy389 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Float64V(yy389, e)
				} // end block: if yy389 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8BoolV(x.FMapUint8Bool, e)
			} // end block: if x.FMapUint8Bool map == nil
			if yyn132 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy392 := *x.FptrMapUint8Bool
				if yy392 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BoolV(yy392, e)
				} // end block: if yy392 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64IntfV(x.FMapUint64Intf, e)
			} // end block: if x.FMapUint64Intf map == nil
			if yyn134 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy395 := *x.FptrMapUint64Intf
				if yy395 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntfV(yy395, e)
				} // end block: if yy395 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64StringV(x.FMapUint64String, e)
			} // end block: if x.FMapUint64String map == nil
			if yyn136 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy398 := *x.FptrMapUint64String
				if yy398 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64StringV(yy398, e)
				} // end block: if yy398 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64BytesV(x.FMapUint64Bytes, e)
			} // end block: if x.FMapUint64Bytes map == nil
			if yyn138 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy401 := *x.FptrMapUint64Bytes
				if yy401 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BytesV(yy401, e)
				} // end block: if yy401 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Uint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64UintV(x.FMapUint64Uint, e)
			} // end block: if x.FMapUint64Uint map == nil
			if yyn140 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy404 := *x.FptrMapUint64Uint
				if yy404 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64UintV(yy404, e)
				} // end block: if yy404 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Uint8V(x.FMapUint64Uint8, e)
			} // end block: if x.FMapUint64Uint8 map == nil
			if yyn142 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy407 := *x.FptrMapUint64Uint8
				if yy407 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint8V(yy407, e)
				} // end block: if yy407 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Uint64V(x.FMapUint64Uint64, e)
			} // end block: if x.FMapUint64Uint64 map == nil
			if yyn144 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy410 := *x.FptrMapUint64Uint64
				if yy410 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint64V(yy410, e)
				} // end block: if yy410 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64IntV(x.FMapUint64Int, e)
			} // end block: if x.FMapUint64Int map == nil
			if yyn146 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy413 := *x.FptrMapUint64Int
				if yy413 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntV(yy413, e)
				} // end block: if yy413 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Int64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Int64V(x.FMapUint64Int64, e)
			} // end block: if x.FMapUint64Int64 map == nil
			if yyn148 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy416 := *x.FptrMapUint64Int64
				if yy416 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Int64V(yy416, e)
				} // end block: if yy416 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Float32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Float32V(x.FMapUint64Float32, e)
			} // end block: if x.FMapUint64Float32 map == nil
			if yyn150 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy419 := *x.FptrMapUint64Float32
				if yy419 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Float32V(yy419, e)
				} // end block: if yy419 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Float64V(x.FMapUint64Float64, e)
			} // end block: if x.FMapUint64Float64 map == nil
			if yyn152 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy422 := *x.FptrMapUint64Float64
				if yy422 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Float64V(yy422, e)
				} // end block: if yy422 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64BoolV(x.FMapUint64Bool, e)
			} // end block: if x.FMapUint64Bool map == nil
			if yyn154 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy425 := *x.FptrMapUint64Bool
				if yy425 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BoolV(yy425, e)
				} // end block: if yy425 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntIntfV(x.FMapIntIntf, e)
			} // end block: if x.FMapIntIntf map == nil
			if yyn156 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy428 := *x.FptrMapIntIntf
				if yy428 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntfV(yy428, e)
				} // end block: if yy428 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntString == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntStringV(x.FMapIntString, e)
			} // end block: if x.FMapIntString map == nil
			if yyn158 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy431 := *x.FptrMapIntString
				if yy431 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntStringV(yy431, e)
				} // end block: if yy431 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntBytesV(x.FMapIntBytes, e)
			} // end block: if x.FMapIntBytes map == nil
			if yyn160 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy434 := *x.FptrMapIntBytes
				if yy434 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBytesV(yy434, e)
				} // end block: if yy434 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntUint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntUintV(x.FMapIntUint, e)
			} // end block: if x.FMapIntUint map == nil
			if yyn162 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy437 := *x.FptrMapIntUint
				if yy437 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUintV(yy437, e)
				} // end block: if yy437 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntUint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntUint8V(x.FMapIntUint8, e)
			} // end block: if x.FMapIntUint8 map == nil
			if yyn164 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy440 := *x.FptrMapIntUint8
				if yy440 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint8V(yy440, e)
				} // end block: if yy440 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntUint64V(x.FMapIntUint64, e)
			} // end block: if x.FMapIntUint64 map == nil
			if yyn166 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy443 := *x.FptrMapIntUint64
				if yy443 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint64V(yy443, e)
				} // end block: if yy443 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntIntV(x.FMapIntInt, e)
			} // end block: if x.FMapIntInt map == nil
			if yyn168 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy446 := *x.FptrMapIntInt
				if yy446 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntV(yy446, e)
				} // end block: if yy446 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntInt64V(x.FMapIntInt64, e)
			} // end block: if x.FMapIntInt64 map == nil
			if yyn170 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy449 := *x.FptrMapIntInt64
				if yy449 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntInt64V(yy449, e)
				} // end block: if yy449 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntFloat32V(x.FMapIntFloat32, e)
			} // end block: if x.FMapIntFloat32 map == nil
			if yyn172 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy452 := *x.FptrMapIntFloat32
				if yy452 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntFloat32V(yy452, e)
				} // end block: if yy452 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntFloat64V(x.FMapIntFloat64, e)
			} // end block: if x.FMapIntFloat64 map == nil
			if yyn174 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy455 := *x.FptrMapIntFloat64
				if yy455 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntFloat64V(yy455, e)
				} // end block: if yy455 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntBoolV(x.FMapIntBool, e)
			} // end block: if x.FMapIntBool map == nil
			if yyn176 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy458 := *x.FptrMapIntBool
				if yy458 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBoolV(yy458, e)
				} // end block: if yy458 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64IntfV(x.FMapInt64Intf, e)
			} // end block: if x.FMapInt64Intf map == nil
			if yyn178 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy461 := *x.FptrMapInt64Intf
				if yy461 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64IntfV(yy461, e)
				} // end block: if yy461 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64StringV(x.FMapInt64String, e)
			} // end block: if x.FMapInt64String map == nil
			if yyn180 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy464 := *x.FptrMapInt64String
				if yy464 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64StringV(yy464, e)
				} // end block: if yy464 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64BytesV(x.FMapInt64Bytes, e)
			} // end block: if x.FMapInt64Bytes map == nil
			if yyn182 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy467 := *x.FptrMapInt64Bytes
				if yy467 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64BytesV(yy467, e)
				} // end block: if yy467 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Uint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64UintV(x.FMapInt64Uint, e)
			} // end block: if x.FMapInt64Uint map == nil
			if yyn184 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy470 := *x.FptrMapInt64Uint
				if yy470 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64UintV(yy470, e)
				} // end block: if yy470 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Uint8V(x.FMapInt64Uint8, e)
			} // end block: if x.FMapInt64Uint8 map == nil
			if yyn186 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy473 := *x.FptrMapInt64Uint8
				if yy473 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Uint8V(yy473, e)
				} // end block: if yy473 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Uint64V(x.FMapInt64Uint64, e)
			} // end block: if x.FMapInt64Uint64 map == nil
			if yyn188 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy476 := *x.FptrMapInt64Uint64
				if yy476 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Uint64V(yy476, e)
				} // end block: if yy476 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64IntV(x.FMapInt64Int, e)
			} // end block: if x.FMapInt64Int map == nil
			if yyn190 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy479 := *x.FptrMapInt64Int
				if yy479 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64IntV(yy479, e)
				} // end block: if yy479 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Int64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Int64V(x.FMapInt64Int64, e)
			} // end block: if x.FMapInt64Int64 map == nil
			if yyn192 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy482 := *x.FptrMapInt64Int64
				if yy482 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Int64V(yy482, e)
				} // end block: if yy482 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Float32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Float32V(x.FMapInt64Float32, e)
			} // end block: if x.FMapInt64Float32 map == nil
			if yyn194 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy485 := *x.FptrMapInt64Float32
				if yy485 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Float32V(yy485, e)
				} // end block: if yy485 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Float64V(x.FMapInt64Float64, e)
			} // end block: if x.FMapInt64Float64 map == nil
			if yyn196 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy488 := *x.FptrMapInt64Float64
				if yy488 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Float64V(yy488, e)
				} // end block: if yy488 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt64Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64BoolV(x.FMapInt64Bool, e)
			} // end block: if x.FMapInt64Bool map == nil
			if yyn198 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy491 := *x.FptrMapInt64Bool
				if yy491 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64BoolV(yy491, e)
				} // end block: if yy491 map == nil
			}
			z.EncWriteArrayEnd()
		} else {
			z.EncWriteMapStart(196)
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FIntf\"")
			} else {
				r.EncodeString(`FIntf`)
			}
			z.EncWriteMapElemValue()
			z.EncFallback(x.FIntf)
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrIntf\"")
			} else {
				r.EncodeString(`FptrIntf`)
			}
			z.EncWriteMapElemValue()
			if yyn4 {
				r.EncodeNil()
			} else {
				yy494 := *x.FptrIntf
				z.EncFallback(yy494)
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FString\"")
			} else {
				r.EncodeString(`FString`)
			}
			z.EncWriteMapElemValue()
			r.EncodeString(string(x.FString))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrString\"")
			} else {
				r.EncodeString(`FptrString`)
			}
			z.EncWriteMapElemValue()
			if yyn6 {
				r.EncodeNil()
			} else {
				yy497 := *x.FptrString
				r.EncodeString(string(yy497))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FBytes\"")
			} else {
				r.EncodeString(`FBytes`)
			}
			z.EncWriteMapElemValue()
			if x.FBytes == nil {
				r.EncodeNil()
			} else {
				r.EncodeStringBytesRaw([]byte(x.FBytes))
			} // end block: if x.FBytes slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrBytes\"")
			} else {
				r.EncodeString(`FptrBytes`)
			}
			z.EncWriteMapElemValue()
			if yyn8 {
				r.EncodeNil()
			} else {
				yy500 := *x.FptrBytes
				if yy500 == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(yy500))
				} // end block: if yy500 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FFloat32\"")
			} else {
				r.EncodeString(`FFloat32`)
			}
			z.EncWriteMapElemValue()
			r.EncodeFloat32(float32(x.FFloat32))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrFloat32\"")
			} else {
				r.EncodeString(`FptrFloat32`)
			}
			z.EncWriteMapElemValue()
			if yyn10 {
				r.EncodeNil()
			} else {
				yy503 := *x.FptrFloat32
				r.EncodeFloat32(float32(yy503))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FFloat64\"")
			} else {
				r.EncodeString(`FFloat64`)
			}
			z.EncWriteMapElemValue()
			r.EncodeFloat64(float64(x.FFloat64))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrFloat64\"")
			} else {
				r.EncodeString(`FptrFloat64`)
			}
			z.EncWriteMapElemValue()
			if yyn12 {
				r.EncodeNil()
			} else {
				yy506 := *x.FptrFloat64
				r.EncodeFloat64(float64(yy506))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FUint\"")
			} else {
				r.EncodeString(`FUint`)
			}
			z.EncWriteMapElemValue()
			r.EncodeUint(uint64(x.FUint))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrUint\"")
			} else {
				r.EncodeString(`FptrUint`)
			}
			z.EncWriteMapElemValue()
			if yyn14 {
				r.EncodeNil()
			} else {
				yy509 := *x.FptrUint
				r.EncodeUint(uint64(yy509))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FUint8\"")
			} else {
				r.EncodeString(`FUint8`)
			}
			z.EncWriteMapElemValue()
			r.EncodeUint(uint64(x.FUint8))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrUint8\"")
			} else {
				r.EncodeString(`FptrUint8`)
			}
			z.EncWriteMapElemValue()
			if yyn16 {
				r.EncodeNil()
			} else {
				yy512 := *x.FptrUint8
				r.EncodeUint(uint64(yy512))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FUint16\"")
			} else {
				r.EncodeString(`FUint16`)
			}
			z.EncWriteMapElemValue()
			r.EncodeUint(uint64(x.FUint16))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrUint16\"")
			} else {
				r.EncodeString(`FptrUint16`)
			}
			z.EncWriteMapElemValue()
			if yyn18 {
				r.EncodeNil()
			} else {
				yy515 := *x.FptrUint16
				r.EncodeUint(uint64(yy515))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FUint32\"")
			} else {
				r.EncodeString(`FUint32`)
			}
			z.EncWriteMapElemValue()
			r.EncodeUint(uint64(x.FUint32))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrUint32\"")
			} else {
				r.EncodeString(`FptrUint32`)
			}
			z.EncWriteMapElemValue()
			if yyn20 {
				r.EncodeNil()
			} else {
				yy518 := *x.FptrUint32
				r.EncodeUint(uint64(yy518))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FUint64\"")
			} else {
				r.EncodeString(`FUint64`)
			}
			z.EncWriteMapElemValue()
			r.EncodeUint(uint64(x.FUint64))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrUint64\"")
			} else {
				r.EncodeString(`FptrUint64`)
			}
			z.EncWriteMapElemValue()
			if yyn22 {
				r.EncodeNil()
			} else {
				yy521 := *x.FptrUint64
				r.EncodeUint(uint64(yy521))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FUintptr\"")
			} else {
				r.EncodeString(`FUintptr`)
			}
			z.EncWriteMapElemValue()
			r.EncodeUint(uint64(x.FUintptr))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrUintptr\"")
			} else {
				r.EncodeString(`FptrUintptr`)
			}
			z.EncWriteMapElemValue()
			if yyn24 {
				r.EncodeNil()
			} else {
				yy524 := *x.FptrUintptr
				r.EncodeUint(uint64(yy524))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FInt\"")
			} else {
				r.EncodeString(`FInt`)
			}
			z.EncWriteMapElemValue()
			r.EncodeInt(int64(x.FInt))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrInt\"")
			} else {
				r.EncodeString(`FptrInt`)
			}
			z.EncWriteMapElemValue()
			if yyn26 {
				r.EncodeNil()
			} else {
				yy527 := *x.FptrInt
				r.EncodeInt(int64(yy527))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FInt8\"")
			} else {
				r.EncodeString(`FInt8`)
			}
			z.EncWriteMapElemValue()
			r.EncodeInt(int64(x.FInt8))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrInt8\"")
			} else {
				r.EncodeString(`FptrInt8`)
			}
			z.EncWriteMapElemValue()
			if yyn28 {
				r.EncodeNil()
			} else {
				yy530 := *x.FptrInt8
				r.EncodeInt(int64(yy530))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FInt16\"")
			} else {
				r.EncodeString(`FInt16`)
			}
			z.EncWriteMapElemValue()
			r.EncodeInt(int64(x.FInt16))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrInt16\"")
			} else {
				r.EncodeString(`FptrInt16`)
			}
			z.EncWriteMapElemValue()
			if yyn30 {
				r.EncodeNil()
			} else {
				yy533 := *x.FptrInt16
				r.EncodeInt(int64(yy533))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FInt32\"")
			} else {
				r.EncodeString(`FInt32`)
			}
			z.EncWriteMapElemValue()
			r.EncodeInt(int64(x.FInt32))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrInt32\"")
			} else {
				r.EncodeString(`FptrInt32`)
			}
			z.EncWriteMapElemValue()
			if yyn32 {
				r.EncodeNil()
			} else {
				yy536 := *x.FptrInt32
				r.EncodeInt(int64(yy536))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FInt64\"")
			} else {
				r.EncodeString(`FInt64`)
			}
			z.EncWriteMapElemValue()
			r.EncodeInt(int64(x.FInt64))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrInt64\"")
			} else {
				r.EncodeString(`FptrInt64`)
			}
			z.EncWriteMapElemValue()
			if yyn34 {
				r.EncodeNil()
			} else {
				yy539 := *x.FptrInt64
				r.EncodeInt(int64(yy539))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FBool\"")
			} else {
				r.EncodeString(`FBool`)
			}
			z.EncWriteMapElemValue()
			r.EncodeBool(bool(x.FBool))
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrBool\"")
			} else {
				r.EncodeString(`FptrBool`)
			}
			z.EncWriteMapElemValue()
			if yyn36 {
				r.EncodeNil()
			} else {
				yy542 := *x.FptrBool
				r.EncodeBool(bool(yy542))
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceIntf\"")
			} else {
				r.EncodeString(`FSliceIntf`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceIntfV(x.FSliceIntf, e)
			} // end block: if x.FSliceIntf slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceIntf\"")
			} else {
				r.EncodeString(`FptrSliceIntf`)
			}
			z.EncWriteMapElemValue()
			if yyn38 {
				r.EncodeNil()
			} else {
				yy545 := *x.FptrSliceIntf
				if yy545 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntfV(yy545, e)
				} // end block: if yy545 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceString\"")
			} else {
				r.EncodeString(`FSliceString`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceString == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceStringV(x.FSliceString, e)
			} // end block: if x.FSliceString slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceString\"")
			} else {
				r.EncodeString(`FptrSliceString`)
			}
			z.EncWriteMapElemValue()
			if yyn40 {
				r.EncodeNil()
			} else {
				yy548 := *x.FptrSliceString
				if yy548 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceStringV(yy548, e)
				} // end block: if yy548 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceBytes\"")
			} else {
				r.EncodeString(`FSliceBytes`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceBytesV(x.FSliceBytes, e)
			} // end block: if x.FSliceBytes slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceBytes\"")
			} else {
				r.EncodeString(`FptrSliceBytes`)
			}
			z.EncWriteMapElemValue()
			if yyn42 {
				r.EncodeNil()
			} else {
				yy551 := *x.FptrSliceBytes
				if yy551 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBytesV(yy551, e)
				} // end block: if yy551 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceFloat32\"")
			} else {
				r.EncodeString(`FSliceFloat32`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceFloat32V(x.FSliceFloat32, e)
			} // end block: if x.FSliceFloat32 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceFloat32\"")
			} else {
				r.EncodeString(`FptrSliceFloat32`)
			}
			z.EncWriteMapElemValue()
			if yyn44 {
				r.EncodeNil()
			} else {
				yy554 := *x.FptrSliceFloat32
				if yy554 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat32V(yy554, e)
				} // end block: if yy554 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceFloat64\"")
			} else {
				r.EncodeString(`FSliceFloat64`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceFloat64V(x.FSliceFloat64, e)
			} // end block: if x.FSliceFloat64 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceFloat64\"")
			} else {
				r.EncodeString(`FptrSliceFloat64`)
			}
			z.EncWriteMapElemValue()
			if yyn46 {
				r.EncodeNil()
			} else {
				yy557 := *x.FptrSliceFloat64
				if yy557 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat64V(yy557, e)
				} // end block: if yy557 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceUint\"")
			} else {
				r.EncodeString(`FSliceUint`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceUint == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUintV(x.FSliceUint, e)
			} // end block: if x.FSliceUint slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceUint\"")
			} else {
				r.EncodeString(`FptrSliceUint`)
			}
			z.EncWriteMapElemValue()
			if yyn48 {
				r.EncodeNil()
			} else {
				yy560 := *x.FptrSliceUint
				if yy560 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUintV(yy560, e)
				} // end block: if yy560 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceUint16\"")
			} else {
				r.EncodeString(`FSliceUint16`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceUint16 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUint16V(x.FSliceUint16, e)
			} // end block: if x.FSliceUint16 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceUint16\"")
			} else {
				r.EncodeString(`FptrSliceUint16`)
			}
			z.EncWriteMapElemValue()
			if yyn50 {
				r.EncodeNil()
			} else {
				yy563 := *x.FptrSliceUint16
				if yy563 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint16V(yy563, e)
				} // end block: if yy563 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceUint32\"")
			} else {
				r.EncodeString(`FSliceUint32`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceUint32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUint32V(x.FSliceUint32, e)
			} // end block: if x.FSliceUint32 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceUint32\"")
			} else {
				r.EncodeString(`FptrSliceUint32`)
			}
			z.EncWriteMapElemValue()
			if yyn52 {
				r.EncodeNil()
			} else {
				yy566 := *x.FptrSliceUint32
				if yy566 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint32V(yy566, e)
				} // end block: if yy566 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceUint64\"")
			} else {
				r.EncodeString(`FSliceUint64`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUint64V(x.FSliceUint64, e)
			} // end block: if x.FSliceUint64 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceUint64\"")
			} else {
				r.EncodeString(`FptrSliceUint64`)
			}
			z.EncWriteMapElemValue()
			if yyn54 {
				r.EncodeNil()
			} else {
				yy569 := *x.FptrSliceUint64
				if yy569 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint64V(yy569, e)
				} // end block: if yy569 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceInt\"")
			} else {
				r.EncodeString(`FSliceInt`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceIntV(x.FSliceInt, e)
			} // end block: if x.FSliceInt slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceInt\"")
			} else {
				r.EncodeString(`FptrSliceInt`)
			}
			z.EncWriteMapElemValue()
			if yyn56 {
				r.EncodeNil()
			} else {
				yy572 := *x.FptrSliceInt
				if yy572 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntV(yy572, e)
				} // end block: if yy572 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceInt8\"")
			} else {
				r.EncodeString(`FSliceInt8`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceInt8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt8V(x.FSliceInt8, e)
			} // end block: if x.FSliceInt8 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceInt8\"")
			} else {
				r.EncodeString(`FptrSliceInt8`)
			}
			z.EncWriteMapElemValue()
			if yyn58 {
				r.EncodeNil()
			} else {
				yy575 := *x.FptrSliceInt8
				if yy575 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt8V(yy575, e)
				} // end block: if yy575 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceInt16\"")
			} else {
				r.EncodeString(`FSliceInt16`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceInt16 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt16V(x.FSliceInt16, e)
			} // end block: if x.FSliceInt16 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceInt16\"")
			} else {
				r.EncodeString(`FptrSliceInt16`)
			}
			z.EncWriteMapElemValue()
			if yyn60 {
				r.EncodeNil()
			} else {
				yy578 := *x.FptrSliceInt16
				if yy578 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt16V(yy578, e)
				} // end block: if yy578 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceInt32\"")
			} else {
				r.EncodeString(`FSliceInt32`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceInt32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt32V(x.FSliceInt32, e)
			} // end block: if x.FSliceInt32 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceInt32\"")
			} else {
				r.EncodeString(`FptrSliceInt32`)
			}
			z.EncWriteMapElemValue()
			if yyn62 {
				r.EncodeNil()
			} else {
				yy581 := *x.FptrSliceInt32
				if yy581 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt32V(yy581, e)
				} // end block: if yy581 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceInt64\"")
			} else {
				r.EncodeString(`FSliceInt64`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt64V(x.FSliceInt64, e)
			} // end block: if x.FSliceInt64 slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceInt64\"")
			} else {
				r.EncodeString(`FptrSliceInt64`)
			}
			z.EncWriteMapElemValue()
			if yyn64 {
				r.EncodeNil()
			} else {
				yy584 := *x.FptrSliceInt64
				if yy584 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt64V(yy584, e)
				} // end block: if yy584 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FSliceBool\"")
			} else {
				r.EncodeString(`FSliceBool`)
			}
			z.EncWriteMapElemValue()
			if x.FSliceBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceBoolV(x.FSliceBool, e)
			} // end block: if x.FSliceBool slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrSliceBool\"")
			} else {
				r.EncodeString(`FptrSliceBool`)
			}
			z.EncWriteMapElemValue()
			if yyn66 {
				r.EncodeNil()
			} else {
				yy587 := *x.FptrSliceBool
				if yy587 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBoolV(yy587, e)
				} // end block: if yy587 slice == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringIntf\"")
			} else {
				r.EncodeString(`FMapStringIntf`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringIntfV(x.FMapStringIntf, e)
			} // end block: if x.FMapStringIntf map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringIntf\"")
			} else {
				r.EncodeString(`FptrMapStringIntf`)
			}
			z.EncWriteMapElemValue()
			if yyn68 {
				r.EncodeNil()
			} else {
				yy590 := *x.FptrMapStringIntf
				if yy590 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntfV(yy590, e)
				} // end block: if yy590 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringString\"")
			} else {
				r.EncodeString(`FMapStringString`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringString == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringStringV(x.FMapStringString, e)
			} // end block: if x.FMapStringString map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringString\"")
			} else {
				r.EncodeString(`FptrMapStringString`)
			}
			z.EncWriteMapElemValue()
			if yyn70 {
				r.EncodeNil()
			} else {
				yy593 := *x.FptrMapStringString
				if yy593 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringStringV(yy593, e)
				} // end block: if yy593 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringBytes\"")
			} else {
				r.EncodeString(`FMapStringBytes`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringBytesV(x.FMapStringBytes, e)
			} // end block: if x.FMapStringBytes map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringBytes\"")
			} else {
				r.EncodeString(`FptrMapStringBytes`)
			}
			z.EncWriteMapElemValue()
			if yyn72 {
				r.EncodeNil()
			} else {
				yy596 := *x.FptrMapStringBytes
				if yy596 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBytesV(yy596, e)
				} // end block: if yy596 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringUint\"")
			} else {
				r.EncodeString(`FMapStringUint`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringUint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringUintV(x.FMapStringUint, e)
			} // end block: if x.FMapStringUint map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringUint\"")
			} else {
				r.EncodeString(`FptrMapStringUint`)
			}
			z.EncWriteMapElemValue()
			if yyn74 {
				r.EncodeNil()
			} else {
				yy599 := *x.FptrMapStringUint
				if yy599 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUintV(yy599, e)
				} // end block: if yy599 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringUint8\"")
			} else {
				r.EncodeString(`FMapStringUint8`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringUint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringUint8V(x.FMapStringUint8, e)
			} // end block: if x.FMapStringUint8 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringUint8\"")
			} else {
				r.EncodeString(`FptrMapStringUint8`)
			}
			z.EncWriteMapElemValue()
			if yyn76 {
				r.EncodeNil()
			} else {
				yy602 := *x.FptrMapStringUint8
				if yy602 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint8V(yy602, e)
				} // end block: if yy602 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringUint64\"")
			} else {
				r.EncodeString(`FMapStringUint64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringUint64V(x.FMapStringUint64, e)
			} // end block: if x.FMapStringUint64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringUint64\"")
			} else {
				r.EncodeString(`FptrMapStringUint64`)
			}
			z.EncWriteMapElemValue()
			if yyn78 {
				r.EncodeNil()
			} else {
				yy605 := *x.FptrMapStringUint64
				if yy605 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint64V(yy605, e)
				} // end block: if yy605 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringInt\"")
			} else {
				r.EncodeString(`FMapStringInt`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringIntV(x.FMapStringInt, e)
			} // end block: if x.FMapStringInt map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringInt\"")
			} else {
				r.EncodeString(`FptrMapStringInt`)
			}
			z.EncWriteMapElemValue()
			if yyn80 {
				r.EncodeNil()
			} else {
				yy608 := *x.FptrMapStringInt
				if yy608 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntV(yy608, e)
				} // end block: if yy608 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringInt64\"")
			} else {
				r.EncodeString(`FMapStringInt64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringInt64V(x.FMapStringInt64, e)
			} // end block: if x.FMapStringInt64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringInt64\"")
			} else {
				r.EncodeString(`FptrMapStringInt64`)
			}
			z.EncWriteMapElemValue()
			if yyn82 {
				r.EncodeNil()
			} else {
				yy611 := *x.FptrMapStringInt64
				if yy611 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringInt64V(yy611, e)
				} // end block: if yy611 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringFloat32\"")
			} else {
				r.EncodeString(`FMapStringFloat32`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringFloat32V(x.FMapStringFloat32, e)
			} // end block: if x.FMapStringFloat32 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringFloat32\"")
			} else {
				r.EncodeString(`FptrMapStringFloat32`)
			}
			z.EncWriteMapElemValue()
			if yyn84 {
				r.EncodeNil()
			} else {
				yy614 := *x.FptrMapStringFloat32
				if yy614 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringFloat32V(yy614, e)
				} // end block: if yy614 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringFloat64\"")
			} else {
				r.EncodeString(`FMapStringFloat64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringFloat64V(x.FMapStringFloat64, e)
			} // end block: if x.FMapStringFloat64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringFloat64\"")
			} else {
				r.EncodeString(`FptrMapStringFloat64`)
			}
			z.EncWriteMapElemValue()
			if yyn86 {
				r.EncodeNil()
			} else {
				yy617 := *x.FptrMapStringFloat64
				if yy617 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringFloat64V(yy617, e)
				} // end block: if yy617 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapStringBool\"")
			} else {
				r.EncodeString(`FMapStringBool`)
			}
			z.EncWriteMapElemValue()
			if x.FMapStringBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringBoolV(x.FMapStringBool, e)
			} // end block: if x.FMapStringBool map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapStringBool\"")
			} else {
				r.EncodeString(`FptrMapStringBool`)
			}
			z.EncWriteMapElemValue()
			if yyn88 {
				r.EncodeNil()
			} else {
				yy620 := *x.FptrMapStringBool
				if yy620 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBoolV(yy620, e)
				} // end block: if yy620 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintIntf\"")
			} else {
				r.EncodeString(`FMapUintIntf`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintIntfV(x.FMapUintIntf, e)
			} // end block: if x.FMapUintIntf map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintIntf\"")
			} else {
				r.EncodeString(`FptrMapUintIntf`)
			}
			z.EncWriteMapElemValue()
			if yyn90 {
				r.EncodeNil()
			} else {
				yy623 := *x.FptrMapUintIntf
				if yy623 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintIntfV(yy623, e)
				} // end block: if yy623 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintString\"")
			} else {
				r.EncodeString(`FMapUintString`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintString == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintStringV(x.FMapUintString, e)
			} // end block: if x.FMapUintString map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintString\"")
			} else {
				r.EncodeString(`FptrMapUintString`)
			}
			z.EncWriteMapElemValue()
			if yyn92 {
				r.EncodeNil()
			} else {
				yy626 := *x.FptrMapUintString
				if yy626 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintStringV(yy626, e)
				} // end block: if yy626 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintBytes\"")
			} else {
				r.EncodeString(`FMapUintBytes`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintBytesV(x.FMapUintBytes, e)
			} // end block: if x.FMapUintBytes map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintBytes\"")
			} else {
				r.EncodeString(`FptrMapUintBytes`)
			}
			z.EncWriteMapElemValue()
			if yyn94 {
				r.EncodeNil()
			} else {
				yy629 := *x.FptrMapUintBytes
				if yy629 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintBytesV(yy629, e)
				} // end block: if yy629 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintUint\"")
			} else {
				r.EncodeString(`FMapUintUint`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintUint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintUintV(x.FMapUintUint, e)
			} // end block: if x.FMapUintUint map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintUint\"")
			} else {
				r.EncodeString(`FptrMapUintUint`)
			}
			z.EncWriteMapElemValue()
			if yyn96 {
				r.EncodeNil()
			} else {
				yy632 := *x.FptrMapUintUint
				if yy632 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintUintV(yy632, e)
				} // end block: if yy632 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintUint8\"")
			} else {
				r.EncodeString(`FMapUintUint8`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintUint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintUint8V(x.FMapUintUint8, e)
			} // end block: if x.FMapUintUint8 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintUint8\"")
			} else {
				r.EncodeString(`FptrMapUintUint8`)
			}
			z.EncWriteMapElemValue()
			if yyn98 {
				r.EncodeNil()
			} else {
				yy635 := *x.FptrMapUintUint8
				if yy635 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintUint8V(yy635, e)
				} // end block: if yy635 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintUint64\"")
			} else {
				r.EncodeString(`FMapUintUint64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintUint64V(x.FMapUintUint64, e)
			} // end block: if x.FMapUintUint64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintUint64\"")
			} else {
				r.EncodeString(`FptrMapUintUint64`)
			}
			z.EncWriteMapElemValue()
			if yyn100 {
				r.EncodeNil()
			} else {
				yy638 := *x.FptrMapUintUint64
				if yy638 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintUint64V(yy638, e)
				} // end block: if yy638 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintInt\"")
			} else {
				r.EncodeString(`FMapUintInt`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintIntV(x.FMapUintInt, e)
			} // end block: if x.FMapUintInt map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintInt\"")
			} else {
				r.EncodeString(`FptrMapUintInt`)
			}
			z.EncWriteMapElemValue()
			if yyn102 {
				r.EncodeNil()
			} else {
				yy641 := *x.FptrMapUintInt
				if yy641 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintIntV(yy641, e)
				} // end block: if yy641 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintInt64\"")
			} else {
				r.EncodeString(`FMapUintInt64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintInt64V(x.FMapUintInt64, e)
			} // end block: if x.FMapUintInt64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintInt64\"")
			} else {
				r.EncodeString(`FptrMapUintInt64`)
			}
			z.EncWriteMapElemValue()
			if yyn104 {
				r.EncodeNil()
			} else {
				yy644 := *x.FptrMapUintInt64
				if yy644 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintInt64V(yy644, e)
				} // end block: if yy644 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintFloat32\"")
			} else {
				r.EncodeString(`FMapUintFloat32`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintFloat32V(x.FMapUintFloat32, e)
			} // end block: if x.FMapUintFloat32 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintFloat32\"")
			} else {
				r.EncodeString(`FptrMapUintFloat32`)
			}
			z.EncWriteMapElemValue()
			if yyn106 {
				r.EncodeNil()
			} else {
				yy647 := *x.FptrMapUintFloat32
				if yy647 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintFloat32V(yy647, e)
				} // end block: if yy647 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintFloat64\"")
			} else {
				r.EncodeString(`FMapUintFloat64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintFloat64V(x.FMapUintFloat64, e)
			} // end block: if x.FMapUintFloat64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintFloat64\"")
			} else {
				r.EncodeString(`FptrMapUintFloat64`)
			}
			z.EncWriteMapElemValue()
			if yyn108 {
				r.EncodeNil()
			} else {
				yy650 := *x.FptrMapUintFloat64
				if yy650 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintFloat64V(yy650, e)
				} // end block: if yy650 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUintBool\"")
			} else {
				r.EncodeString(`FMapUintBool`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUintBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUintBoolV(x.FMapUintBool, e)
			} // end block: if x.FMapUintBool map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUintBool\"")
			} else {
				r.EncodeString(`FptrMapUintBool`)
			}
			z.EncWriteMapElemValue()
			if yyn110 {
				r.EncodeNil()
			} else {
				yy653 := *x.FptrMapUintBool
				if yy653 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUintBoolV(yy653, e)
				} // end block: if yy653 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Intf\"")
			} else {
				r.EncodeString(`FMapUint8Intf`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8IntfV(x.FMapUint8Intf, e)
			} // end block: if x.FMapUint8Intf map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Intf\"")
			} else {
				r.EncodeString(`FptrMapUint8Intf`)
			}
			z.EncWriteMapElemValue()
			if yyn112 {
				r.EncodeNil()
			} else {
				yy656 := *x.FptrMapUint8Intf
				if yy656 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntfV(yy656, e)
				} // end block: if yy656 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8String\"")
			} else {
				r.EncodeString(`FMapUint8String`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8StringV(x.FMapUint8String, e)
			} // end block: if x.FMapUint8String map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8String\"")
			} else {
				r.EncodeString(`FptrMapUint8String`)
			}
			z.EncWriteMapElemValue()
			if yyn114 {
				r.EncodeNil()
			} else {
				yy659 := *x.FptrMapUint8String
				if yy659 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8StringV(yy659, e)
				} // end block: if yy659 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Bytes\"")
			} else {
				r.EncodeString(`FMapUint8Bytes`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8BytesV(x.FMapUint8Bytes, e)
			} // end block: if x.FMapUint8Bytes map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Bytes\"")
			} else {
				r.EncodeString(`FptrMapUint8Bytes`)
			}
			z.EncWriteMapElemValue()
			if yyn116 {
				r.EncodeNil()
			} else {
				yy662 := *x.FptrMapUint8Bytes
				if yy662 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BytesV(yy662, e)
				} // end block: if yy662 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Uint\"")
			} else {
				r.EncodeString(`FMapUint8Uint`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Uint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8UintV(x.FMapUint8Uint, e)
			} // end block: if x.FMapUint8Uint map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Uint\"")
			} else {
				r.EncodeString(`FptrMapUint8Uint`)
			}
			z.EncWriteMapElemValue()
			if yyn118 {
				r.EncodeNil()
			} else {
				yy665 := *x.FptrMapUint8Uint
				if yy665 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8UintV(yy665, e)
				} // end block: if yy665 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Uint8\"")
			} else {
				r.EncodeString(`FMapUint8Uint8`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Uint8V(x.FMapUint8Uint8, e)
			} // end block: if x.FMapUint8Uint8 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Uint8\"")
			} else {
				r.EncodeString(`FptrMapUint8Uint8`)
			}
			z.EncWriteMapElemValue()
			if yyn120 {
				r.EncodeNil()
			} else {
				yy668 := *x.FptrMapUint8Uint8
				if yy668 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint8V(yy668, e)
				} // end block: if yy668 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Uint64\"")
			} else {
				r.EncodeString(`FMapUint8Uint64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Uint64V(x.FMapUint8Uint64, e)
			} // end block: if x.FMapUint8Uint64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Uint64\"")
			} else {
				r.EncodeString(`FptrMapUint8Uint64`)
			}
			z.EncWriteMapElemValue()
			if yyn122 {
				r.EncodeNil()
			} else {
				yy671 := *x.FptrMapUint8Uint64
				if yy671 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint64V(yy671, e)
				} // end block: if yy671 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Int\"")
			} else {
				r.EncodeString(`FMapUint8Int`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8IntV(x.FMapUint8Int, e)
			} // end block: if x.FMapUint8Int map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Int\"")
			} else {
				r.EncodeString(`FptrMapUint8Int`)
			}
			z.EncWriteMapElemValue()
			if yyn124 {
				r.EncodeNil()
			} else {
				yy674 := *x.FptrMapUint8Int
				if yy674 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntV(yy674, e)
				} // end block: if yy674 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Int64\"")
			} else {
				r.EncodeString(`FMapUint8Int64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Int64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Int64V(x.FMapUint8Int64, e)
			} // end block: if x.FMapUint8Int64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Int64\"")
			} else {
				r.EncodeString(`FptrMapUint8Int64`)
			}
			z.EncWriteMapElemValue()
			if yyn126 {
				r.EncodeNil()
			} else {
				yy677 := *x.FptrMapUint8Int64
				if yy677 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Int64V(yy677, e)
				} // end block: if yy677 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Float32\"")
			} else {
				r.EncodeString(`FMapUint8Float32`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Float32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Float32V(x.FMapUint8Float32, e)
			} // end block: if x.FMapUint8Float32 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Float32\"")
			} else {
				r.EncodeString(`FptrMapUint8Float32`)
			}
			z.EncWriteMapElemValue()
			if yyn128 {
				r.EncodeNil()
			} else {
				yy680 := *x.FptrMapUint8Float32
				if yy680 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Float32V(yy680, e)
				} // end block: if yy680 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Float64\"")
			} else {
				r.EncodeString(`FMapUint8Float64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Float64V(x.FMapUint8Float64, e)
			} // end block: if x.FMapUint8Float64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Float64\"")
			} else {
				r.EncodeString(`FptrMapUint8Float64`)
			}
			z.EncWriteMapElemValue()
			if yyn130 {
				r.EncodeNil()
			} else {
				yy683 := *x.FptrMapUint8Float64
				if yy683 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Float64V(yy683, e)
				} // end block: if yy683 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint8Bool\"")
			} else {
				r.EncodeString(`FMapUint8Bool`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint8Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8BoolV(x.FMapUint8Bool, e)
			} // end block: if x.FMapUint8Bool map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint8Bool\"")
			} else {
				r.EncodeString(`FptrMapUint8Bool`)
			}
			z.EncWriteMapElemValue()
			if yyn132 {
				r.EncodeNil()
			} else {
				yy686 := *x.FptrMapUint8Bool
				if yy686 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BoolV(yy686, e)
				} // end block: if yy686 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Intf\"")
			} else {
				r.EncodeString(`FMapUint64Intf`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64IntfV(x.FMapUint64Intf, e)
			} // end block: if x.FMapUint64Intf map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Intf\"")
			} else {
				r.EncodeString(`FptrMapUint64Intf`)
			}
			z.EncWriteMapElemValue()
			if yyn134 {
				r.EncodeNil()
			} else {
				yy689 := *x.FptrMapUint64Intf
				if yy689 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntfV(yy689, e)
				} // end block: if yy689 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64String\"")
			} else {
				r.EncodeString(`FMapUint64String`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64StringV(x.FMapUint64String, e)
			} // end block: if x.FMapUint64String map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64String\"")
			} else {
				r.EncodeString(`FptrMapUint64String`)
			}
			z.EncWriteMapElemValue()
			if yyn136 {
				r.EncodeNil()
			} else {
				yy692 := *x.FptrMapUint64String
				if yy692 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64StringV(yy692, e)
				} // end block: if yy692 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Bytes\"")
			} else {
				r.EncodeString(`FMapUint64Bytes`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64BytesV(x.FMapUint64Bytes, e)
			} // end block: if x.FMapUint64Bytes map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Bytes\"")
			} else {
				r.EncodeString(`FptrMapUint64Bytes`)
			}
			z.EncWriteMapElemValue()
			if yyn138 {
				r.EncodeNil()
			} else {
				yy695 := *x.FptrMapUint64Bytes
				if yy695 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BytesV(yy695, e)
				} // end block: if yy695 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Uint\"")
			} else {
				r.EncodeString(`FMapUint64Uint`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Uint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64UintV(x.FMapUint64Uint, e)
			} // end block: if x.FMapUint64Uint map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Uint\"")
			} else {
				r.EncodeString(`FptrMapUint64Uint`)
			}
			z.EncWriteMapElemValue()
			if yyn140 {
				r.EncodeNil()
			} else {
				yy698 := *x.FptrMapUint64Uint
				if yy698 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64UintV(yy698, e)
				} // end block: if yy698 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Uint8\"")
			} else {
				r.EncodeString(`FMapUint64Uint8`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Uint8V(x.FMapUint64Uint8, e)
			} // end block: if x.FMapUint64Uint8 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Uint8\"")
			} else {
				r.EncodeString(`FptrMapUint64Uint8`)
			}
			z.EncWriteMapElemValue()
			if yyn142 {
				r.EncodeNil()
			} else {
				yy701 := *x.FptrMapUint64Uint8
				if yy701 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint8V(yy701, e)
				} // end block: if yy701 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Uint64\"")
			} else {
				r.EncodeString(`FMapUint64Uint64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Uint64V(x.FMapUint64Uint64, e)
			} // end block: if x.FMapUint64Uint64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Uint64\"")
			} else {
				r.EncodeString(`FptrMapUint64Uint64`)
			}
			z.EncWriteMapElemValue()
			if yyn144 {
				r.EncodeNil()
			} else {
				yy704 := *x.FptrMapUint64Uint64
				if yy704 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint64V(yy704, e)
				} // end block: if yy704 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Int\"")
			} else {
				r.EncodeString(`FMapUint64Int`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64IntV(x.FMapUint64Int, e)
			} // end block: if x.FMapUint64Int map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Int\"")
			} else {
				r.EncodeString(`FptrMapUint64Int`)
			}
			z.EncWriteMapElemValue()
			if yyn146 {
				r.EncodeNil()
			} else {
				yy707 := *x.FptrMapUint64Int
				if yy707 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntV(yy707, e)
				} // end block: if yy707 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Int64\"")
			} else {
				r.EncodeString(`FMapUint64Int64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Int64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Int64V(x.FMapUint64Int64, e)
			} // end block: if x.FMapUint64Int64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Int64\"")
			} else {
				r.EncodeString(`FptrMapUint64Int64`)
			}
			z.EncWriteMapElemValue()
			if yyn148 {
				r.EncodeNil()
			} else {
				yy710 := *x.FptrMapUint64Int64
				if yy710 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Int64V(yy710, e)
				} // end block: if yy710 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Float32\"")
			} else {
				r.EncodeString(`FMapUint64Float32`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Float32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Float32V(x.FMapUint64Float32, e)
			} // end block: if x.FMapUint64Float32 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Float32\"")
			} else {
				r.EncodeString(`FptrMapUint64Float32`)
			}
			z.EncWriteMapElemValue()
			if yyn150 {
				r.EncodeNil()
			} else {
				yy713 := *x.FptrMapUint64Float32
				if yy713 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Float32V(yy713, e)
				} // end block: if yy713 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Float64\"")
			} else {
				r.EncodeString(`FMapUint64Float64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Float64V(x.FMapUint64Float64, e)
			} // end block: if x.FMapUint64Float64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Float64\"")
			} else {
				r.EncodeString(`FptrMapUint64Float64`)
			}
			z.EncWriteMapElemValue()
			if yyn152 {
				r.EncodeNil()
			} else {
				yy716 := *x.FptrMapUint64Float64
				if yy716 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Float64V(yy716, e)
				} // end block: if yy716 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapUint64Bool\"")
			} else {
				r.EncodeString(`FMapUint64Bool`)
			}
			z.EncWriteMapElemValue()
			if x.FMapUint64Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64BoolV(x.FMapUint64Bool, e)
			} // end block: if x.FMapUint64Bool map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapUint64Bool\"")
			} else {
				r.EncodeString(`FptrMapUint64Bool`)
			}
			z.EncWriteMapElemValue()
			if yyn154 {
				r.EncodeNil()
			} else {
				yy719 := *x.FptrMapUint64Bool
				if yy719 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BoolV(yy719, e)
				} // end block: if yy719 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntIntf\"")
			} else {
				r.EncodeString(`FMapIntIntf`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntIntfV(x.FMapIntIntf, e)
			} // end block: if x.FMapIntIntf map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntIntf\"")
			} else {
				r.EncodeString(`FptrMapIntIntf`)
			}
			z.EncWriteMapElemValue()
			if yyn156 {
				r.EncodeNil()
			} else {
				yy722 := *x.FptrMapIntIntf
				if yy722 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntfV(yy722, e)
				} // end block: if yy722 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntString\"")
			} else {
				r.EncodeString(`FMapIntString`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntString == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntStringV(x.FMapIntString, e)
			} // end block: if x.FMapIntString map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntString\"")
			} else {
				r.EncodeString(`FptrMapIntString`)
			}
			z.EncWriteMapElemValue()
			if yyn158 {
				r.EncodeNil()
			} else {
				yy725 := *x.FptrMapIntString
				if yy725 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntStringV(yy725, e)
				} // end block: if yy725 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntBytes\"")
			} else {
				r.EncodeString(`FMapIntBytes`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntBytesV(x.FMapIntBytes, e)
			} // end block: if x.FMapIntBytes map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntBytes\"")
			} else {
				r.EncodeString(`FptrMapIntBytes`)
			}
			z.EncWriteMapElemValue()
			if yyn160 {
				r.EncodeNil()
			} else {
				yy728 := *x.FptrMapIntBytes
				if yy728 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBytesV(yy728, e)
				} // end block: if yy728 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntUint\"")
			} else {
				r.EncodeString(`FMapIntUint`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntUint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntUintV(x.FMapIntUint, e)
			} // end block: if x.FMapIntUint map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntUint\"")
			} else {
				r.EncodeString(`FptrMapIntUint`)
			}
			z.EncWriteMapElemValue()
			if yyn162 {
				r.EncodeNil()
			} else {
				yy731 := *x.FptrMapIntUint
				if yy731 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUintV(yy731, e)
				} // end block: if yy731 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntUint8\"")
			} else {
				r.EncodeString(`FMapIntUint8`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntUint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntUint8V(x.FMapIntUint8, e)
			} // end block: if x.FMapIntUint8 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntUint8\"")
			} else {
				r.EncodeString(`FptrMapIntUint8`)
			}
			z.EncWriteMapElemValue()
			if yyn164 {
				r.EncodeNil()
			} else {
				yy734 := *x.FptrMapIntUint8
				if yy734 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint8V(yy734, e)
				} // end block: if yy734 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntUint64\"")
			} else {
				r.EncodeString(`FMapIntUint64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntUint64V(x.FMapIntUint64, e)
			} // end block: if x.FMapIntUint64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntUint64\"")
			} else {
				r.EncodeString(`FptrMapIntUint64`)
			}
			z.EncWriteMapElemValue()
			if yyn166 {
				r.EncodeNil()
			} else {
				yy737 := *x.FptrMapIntUint64
				if yy737 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint64V(yy737, e)
				} // end block: if yy737 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntInt\"")
			} else {
				r.EncodeString(`FMapIntInt`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntIntV(x.FMapIntInt, e)
			} // end block: if x.FMapIntInt map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntInt\"")
			} else {
				r.EncodeString(`FptrMapIntInt`)
			}
			z.EncWriteMapElemValue()
			if yyn168 {
				r.EncodeNil()
			} else {
				yy740 := *x.FptrMapIntInt
				if yy740 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntV(yy740, e)
				} // end block: if yy740 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntInt64\"")
			} else {
				r.EncodeString(`FMapIntInt64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntInt64V(x.FMapIntInt64, e)
			} // end block: if x.FMapIntInt64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntInt64\"")
			} else {
				r.EncodeString(`FptrMapIntInt64`)
			}
			z.EncWriteMapElemValue()
			if yyn170 {
				r.EncodeNil()
			} else {
				yy743 := *x.FptrMapIntInt64
				if yy743 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntInt64V(yy743, e)
				} // end block: if yy743 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntFloat32\"")
			} else {
				r.EncodeString(`FMapIntFloat32`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntFloat32V(x.FMapIntFloat32, e)
			} // end block: if x.FMapIntFloat32 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntFloat32\"")
			} else {
				r.EncodeString(`FptrMapIntFloat32`)
			}
			z.EncWriteMapElemValue()
			if yyn172 {
				r.EncodeNil()
			} else {
				yy746 := *x.FptrMapIntFloat32
				if yy746 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntFloat32V(yy746, e)
				} // end block: if yy746 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntFloat64\"")
			} else {
				r.EncodeString(`FMapIntFloat64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntFloat64V(x.FMapIntFloat64, e)
			} // end block: if x.FMapIntFloat64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntFloat64\"")
			} else {
				r.EncodeString(`FptrMapIntFloat64`)
			}
			z.EncWriteMapElemValue()
			if yyn174 {
				r.EncodeNil()
			} else {
				yy749 := *x.FptrMapIntFloat64
				if yy749 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntFloat64V(yy749, e)
				} // end block: if yy749 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapIntBool\"")
			} else {
				r.EncodeString(`FMapIntBool`)
			}
			z.EncWriteMapElemValue()
			if x.FMapIntBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntBoolV(x.FMapIntBool, e)
			} // end block: if x.FMapIntBool map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapIntBool\"")
			} else {
				r.EncodeString(`FptrMapIntBool`)
			}
			z.EncWriteMapElemValue()
			if yyn176 {
				r.EncodeNil()
			} else {
				yy752 := *x.FptrMapIntBool
				if yy752 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBoolV(yy752, e)
				} // end block: if yy752 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Intf\"")
			} else {
				r.EncodeString(`FMapInt64Intf`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64IntfV(x.FMapInt64Intf, e)
			} // end block: if x.FMapInt64Intf map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Intf\"")
			} else {
				r.EncodeString(`FptrMapInt64Intf`)
			}
			z.EncWriteMapElemValue()
			if yyn178 {
				r.EncodeNil()
			} else {
				yy755 := *x.FptrMapInt64Intf
				if yy755 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64IntfV(yy755, e)
				} // end block: if yy755 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64String\"")
			} else {
				r.EncodeString(`FMapInt64String`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64StringV(x.FMapInt64String, e)
			} // end block: if x.FMapInt64String map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64String\"")
			} else {
				r.EncodeString(`FptrMapInt64String`)
			}
			z.EncWriteMapElemValue()
			if yyn180 {
				r.EncodeNil()
			} else {
				yy758 := *x.FptrMapInt64String
				if yy758 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64StringV(yy758, e)
				} // end block: if yy758 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Bytes\"")
			} else {
				r.EncodeString(`FMapInt64Bytes`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64BytesV(x.FMapInt64Bytes, e)
			} // end block: if x.FMapInt64Bytes map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Bytes\"")
			} else {
				r.EncodeString(`FptrMapInt64Bytes`)
			}
			z.EncWriteMapElemValue()
			if yyn182 {
				r.EncodeNil()
			} else {
				yy761 := *x.FptrMapInt64Bytes
				if yy761 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64BytesV(yy761, e)
				} // end block: if yy761 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Uint\"")
			} else {
				r.EncodeString(`FMapInt64Uint`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Uint == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64UintV(x.FMapInt64Uint, e)
			} // end block: if x.FMapInt64Uint map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Uint\"")
			} else {
				r.EncodeString(`FptrMapInt64Uint`)
			}
			z.EncWriteMapElemValue()
			if yyn184 {
				r.EncodeNil()
			} else {
				yy764 := *x.FptrMapInt64Uint
				if yy764 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64UintV(yy764, e)
				} // end block: if yy764 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Uint8\"")
			} else {
				r.EncodeString(`FMapInt64Uint8`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Uint8V(x.FMapInt64Uint8, e)
			} // end block: if x.FMapInt64Uint8 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Uint8\"")
			} else {
				r.EncodeString(`FptrMapInt64Uint8`)
			}
			z.EncWriteMapElemValue()
			if yyn186 {
				r.EncodeNil()
			} else {
				yy767 := *x.FptrMapInt64Uint8
				if yy767 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Uint8V(yy767, e)
				} // end block: if yy767 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Uint64\"")
			} else {
				r.EncodeString(`FMapInt64Uint64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Uint64V(x.FMapInt64Uint64, e)
			} // end block: if x.FMapInt64Uint64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Uint64\"")
			} else {
				r.EncodeString(`FptrMapInt64Uint64`)
			}
			z.EncWriteMapElemValue()
			if yyn188 {
				r.EncodeNil()
			} else {
				yy770 := *x.FptrMapInt64Uint64
				if yy770 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Uint64V(yy770, e)
				} // end block: if yy770 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Int\"")
			} else {
				r.EncodeString(`FMapInt64Int`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64IntV(x.FMapInt64Int, e)
			} // end block: if x.FMapInt64Int map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Int\"")
			} else {
				r.EncodeString(`FptrMapInt64Int`)
			}
			z.EncWriteMapElemValue()
			if yyn190 {
				r.EncodeNil()
			} else {
				yy773 := *x.FptrMapInt64Int
				if yy773 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64IntV(yy773, e)
				} // end block: if yy773 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Int64\"")
			} else {
				r.EncodeString(`FMapInt64Int64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Int64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Int64V(x.FMapInt64Int64, e)
			} // end block: if x.FMapInt64Int64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Int64\"")
			} else {
				r.EncodeString(`FptrMapInt64Int64`)
			}
			z.EncWriteMapElemValue()
			if yyn192 {
				r.EncodeNil()
			} else {
				yy776 := *x.FptrMapInt64Int64
				if yy776 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Int64V(yy776, e)
				} // end block: if yy776 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Float32\"")
			} else {
				r.EncodeString(`FMapInt64Float32`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Float32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Float32V(x.FMapInt64Float32, e)
			} // end block: if x.FMapInt64Float32 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Float32\"")
			} else {
				r.EncodeString(`FptrMapInt64Float32`)
			}
			z.EncWriteMapElemValue()
			if yyn194 {
				r.EncodeNil()
			} else {
				yy779 := *x.FptrMapInt64Float32
				if yy779 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Float32V(yy779, e)
				} // end block: if yy779 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Float64\"")
			} else {
				r.EncodeString(`FMapInt64Float64`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64Float64V(x.FMapInt64Float64, e)
			} // end block: if x.FMapInt64Float64 map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Float64\"")
			} else {
				r.EncodeString(`FptrMapInt64Float64`)
			}
			z.EncWriteMapElemValue()
			if yyn196 {
				r.EncodeNil()
			} else {
				yy782 := *x.FptrMapInt64Float64
				if yy782 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64Float64V(yy782, e)
				} // end block: if yy782 map == nil
			}
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FMapInt64Bool\"")
			} else {
				r.EncodeString(`FMapInt64Bool`)
			}
			z.EncWriteMapElemValue()
			if x.FMapInt64Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt64BoolV(x.FMapInt64Bool, e)
			} // end block: if x.FMapInt64Bool map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"FptrMapInt64Bool\"")
			} else {
				r.EncodeString(`FptrMapInt64Bool`)
			}
			z.EncWriteMapElemValue()
			if yyn198 {
				r.EncodeNil()
			} else {
				yy785 := *x.FptrMapInt64Bool
				if yy785 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt64BoolV(yy785, e)
				} // end block: if yy785 map == nil
			}
			z.EncWriteMapEnd()
		}
	}
}

func (x *TestMammoth2) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	yyct2 := r.ContainerType()
	if yyct2 == codecSelferValueTypeNil19781 {
		*(x) = TestMammoth2{}
	} else if yyct2 == codecSelferValueTypeMap19781 {
		yyl2 := z.DecReadMapStart()
		if yyl2 == 0 {
		} else {
			x.codecDecodeSelfFromMap(yyl2, d)
		}
		z.DecReadMapEnd()
	} else if yyct2 == codecSelferValueTypeArray19781 {
		yyl2 := z.DecReadArrayStart()
		if yyl2 != 0 {
			x.codecDecodeSelfFromArray(yyl2, d)
		}
		z.DecReadArrayEnd()
	} else {
		panic(errCodecSelferOnlyMapOrArrayEncodeToStruct19781)
	}
}

func (x *TestMammoth2) codecDecodeSelfFromMap(l int, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if z.DecCheckBreak() {
				break
			}
		}
		z.DecReadMapElemKey()
		yys3 := z.StringView(r.DecodeStringAsBytes())
		z.DecReadMapElemValue()
		switch yys3 {
		case "FIntf":
			z.DecFallback(&x.FIntf, true)
		case "FptrIntf":
			if r.TryNil() {
				if x.FptrIntf != nil { // remove the if-true
					x.FptrIntf = nil
				}
			} else {
				if x.FptrIntf == nil {
					x.FptrIntf = new(interface{})
				}
				z.DecFallback(x.FptrIntf, true)
			}
		case "FString":
			x.FString = (string)(string(r.DecodeStringAsBytes()))
		case "FptrString":
			if r.TryNil() {
				if x.FptrString != nil { // remove the if-true
					x.FptrString = nil
				}
			} else {
				if x.FptrString == nil {
					x.FptrString = new(string)
				}
				*x.FptrString = (string)(string(r.DecodeStringAsBytes()))
			}
		case "FBytes":
			x.FBytes = r.DecodeBytes(([]byte)(x.FBytes), false)
		case "FptrBytes":
			if r.TryNil() {
				if x.FptrBytes != nil { // remove the if-true
					x.FptrBytes = nil
				}
			} else {
				if x.FptrBytes == nil {
					x.FptrBytes = new([]uint8)
				}
				*x.FptrBytes = r.DecodeBytes(*(*[]byte)(x.FptrBytes), false)
			}
		case "FFloat32":
			x.FFloat32 = (float32)(z.DecDecodeFloat32())
		case "FptrFloat32":
			if r.TryNil() {
				if x.FptrFloat32 != nil { // remove the if-true
					x.FptrFloat32 = nil
				}
			} else {
				if x.FptrFloat32 == nil {
					x.FptrFloat32 = new(float32)
				}
				*x.FptrFloat32 = (float32)(z.DecDecodeFloat32())
			}
		case "FFloat64":
			x.FFloat64 = (float64)(r.DecodeFloat64())
		case "FptrFloat64":
			if r.TryNil() {
				if x.FptrFloat64 != nil { // remove the if-true
					x.FptrFloat64 = nil
				}
			} else {
				if x.FptrFloat64 == nil {
					x.FptrFloat64 = new(float64)
				}
				*x.FptrFloat64 = (float64)(r.DecodeFloat64())
			}
		case "FUint":
			x.FUint = (uint)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
		case "FptrUint":
			if r.TryNil() {
				if x.FptrUint != nil { // remove the if-true
					x.FptrUint = nil
				}
			} else {
				if x.FptrUint == nil {
					x.FptrUint = new(uint)
				}
				*x.FptrUint = (uint)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
			}
		case "FUint8":
			x.FUint8 = (uint8)(z.C.UintV(r.DecodeUint64(), 8))
		case "FptrUint8":
			if r.TryNil() {
				if x.FptrUint8 != nil { // remove the if-true
					x.FptrUint8 = nil
				}
			} else {
				if x.FptrUint8 == nil {
					x.FptrUint8 = new(uint8)
				}
				*x.FptrUint8 = (uint8)(z.C.UintV(r.DecodeUint64(), 8))
			}
		case "FUint16":
			x.FUint16 = (uint16)(z.C.UintV(r.DecodeUint64(), 16))
		case "FptrUint16":
			if r.TryNil() {
				if x.FptrUint16 != nil { // remove the if-true
					x.FptrUint16 = nil
				}
			} else {
				if x.FptrUint16 == nil {
					x.FptrUint16 = new(uint16)
				}
				*x.FptrUint16 = (uint16)(z.C.UintV(r.DecodeUint64(), 16))
			}
		case "FUint32":
			x.FUint32 = (uint32)(z.C.UintV(r.DecodeUint64(), 32))
		case "FptrUint32":
			if r.TryNil() {
				if x.FptrUint32 != nil { // remove the if-true
					x.FptrUint32 = nil
				}
			} else {
				if x.FptrUint32 == nil {
					x.FptrUint32 = new(uint32)
				}
				*x.FptrUint32 = (uint32)(z.C.UintV(r.DecodeUint64(), 32))
			}
		case "FUint64":
			x.FUint64 = (uint64)(r.DecodeUint64())
		case "FptrUint64":
			if r.TryNil() {
				if x.FptrUint64 != nil { // remove the if-true
					x.FptrUint64 = nil
				}
			} else {
				if x.FptrUint64 == nil {
					x.FptrUint64 = new(uint64)
				}
				*x.FptrUint64 = (uint64)(r.DecodeUint64())
			}
		case "FUintptr":
			x.FUintptr = (uintptr)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
		case "FptrUintptr":
			if r.TryNil() {
				if x.FptrUintptr != nil { // remove the if-true
					x.FptrUintptr = nil
				}
			} else {
				if x.FptrUintptr == nil {
					x.FptrUintptr = new(uintptr)
				}
				*x.FptrUintptr = (uintptr)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
			}
		case "FInt":
			x.FInt = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize19781))
		case "FptrInt":
			if r.TryNil() {
				if x.FptrInt != nil { // remove the if-true
					x.FptrInt = nil
				}
			} else {
				if x.FptrInt == nil {
					x.FptrInt = new(int)
				}
				*x.FptrInt = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize19781))
			}
		case "FInt8":
			x.FInt8 = (int8)(z.C.IntV(r.DecodeInt64(), 8))
		case "FptrInt8":
			if r.TryNil() {
				if x.FptrInt8 != nil { // remove the if-true
					x.FptrInt8 = nil
				}
			} else {
				if x.FptrInt8 == nil {
					x.FptrInt8 = new(int8)
				}
				*x.FptrInt8 = (int8)(z.C.IntV(r.DecodeInt64(), 8))
			}
		case "FInt16":
			x.FInt16 = (int16)(z.C.IntV(r.DecodeInt64(), 16))
		case "FptrInt16":
			if r.TryNil() {
				if x.FptrInt16 != nil { // remove the if-true
					x.FptrInt16 = nil
				}
			} else {
				if x.FptrInt16 == nil {
					x.FptrInt16 = new(int16)
				}
				*x.FptrInt16 = (int16)(z.C.IntV(r.DecodeInt64(), 16))
			}
		case "FInt32":
			x.FInt32 = (int32)(z.C.IntV(r.DecodeInt64(), 32))
		case "FptrInt32":
			if r.TryNil() {
				if x.FptrInt32 != nil { // remove the if-true
					x.FptrInt32 = nil
				}
			} else {
				if x.FptrInt32 == nil {
					x.FptrInt32 = new(int32)
				}
				*x.FptrInt32 = (int32)(z.C.IntV(r.DecodeInt64(), 32))
			}
		case "FInt64":
			x.FInt64 = (int64)(r.DecodeInt64())
		case "FptrInt64":
			if r.TryNil() {
				if x.FptrInt64 != nil { // remove the if-true
					x.FptrInt64 = nil
				}
			} else {
				if x.FptrInt64 == nil {
					x.FptrInt64 = new(int64)
				}
				*x.FptrInt64 = (int64)(r.DecodeInt64())
			}
		case "FBool":
			x.FBool = (bool)(r.DecodeBool())
		case "FptrBool":
			if r.TryNil() {
				if x.FptrBool != nil { // remove the if-true
					x.FptrBool = nil
				}
			} else {
				if x.FptrBool == nil {
					x.FptrBool = new(bool)
				}
				*x.FptrBool = (bool)(r.DecodeBool())
			}
		case "FSliceIntf":
			z.F.DecSliceIntfX(&x.FSliceIntf, d)
		case "FptrSliceIntf":
			if r.TryNil() {
				if x.FptrSliceIntf != nil { // remove the if-true
					x.FptrSliceIntf = nil
				}
			} else {
				if x.FptrSliceIntf == nil {
					x.FptrSliceIntf = new([]interface{})
				}
				z.F.DecSliceIntfX(x.FptrSliceIntf, d)
			}
		case "FSliceString":
			z.F.DecSliceStringX(&x.FSliceString, d)
		case "FptrSliceString":
			if r.TryNil() {
				if x.FptrSliceString != nil { // remove the if-true
					x.FptrSliceString = nil
				}
			} else {
				if x.FptrSliceString == nil {
					x.FptrSliceString = new([]string)
				}
				z.F.DecSliceStringX(x.FptrSliceString, d)
			}
		case "FSliceBytes":
			z.F.DecSliceBytesX(&x.FSliceBytes, d)
		case "FptrSliceBytes":
			if r.TryNil() {
				if x.FptrSliceBytes != nil { // remove the if-true
					x.FptrSliceBytes = nil
				}
			} else {
				if x.FptrSliceBytes == nil {
					x.FptrSliceBytes = new([][]uint8)
				}
				z.F.DecSliceBytesX(x.FptrSliceBytes, d)
			}
		case "FSliceFloat32":
			z.F.DecSliceFloat32X(&x.FSliceFloat32, d)
		case "FptrSliceFloat32":
			if r.TryNil() {
				if x.FptrSliceFloat32 != nil { // remove the if-true
					x.FptrSliceFloat32 = nil
				}
			} else {
				if x.FptrSliceFloat32 == nil {
					x.FptrSliceFloat32 = new([]float32)
				}
				z.F.DecSliceFloat32X(x.FptrSliceFloat32, d)
			}
		case "FSliceFloat64":
			z.F.DecSliceFloat64X(&x.FSliceFloat64, d)
		case "FptrSliceFloat64":
			if r.TryNil() {
				if x.FptrSliceFloat64 != nil { // remove the if-true
					x.FptrSliceFloat64 = nil
				}
			} else {
				if x.FptrSliceFloat64 == nil {
					x.FptrSliceFloat64 = new([]float64)
				}
				z.F.DecSliceFloat64X(x.FptrSliceFloat64, d)
			}
		case "FSliceUint":
			z.F.DecSliceUintX(&x.FSliceUint, d)
		case "FptrSliceUint":
			if r.TryNil() {
				if x.FptrSliceUint != nil { // remove the if-true
					x.FptrSliceUint = nil
				}
			} else {
				if x.FptrSliceUint == nil {
					x.FptrSliceUint = new([]uint)
				}
				z.F.DecSliceUintX(x.FptrSliceUint, d)
			}
		case "FSliceUint16":
			z.F.DecSliceUint16X(&x.FSliceUint16, d)
		case "FptrSliceUint16":
			if r.TryNil() {
				if x.FptrSliceUint16 != nil { // remove the if-true
					x.FptrSliceUint16 = nil
				}
			} else {
				if x.FptrSliceUint16 == nil {
					x.FptrSliceUint16 = new([]uint16)
				}
				z.F.DecSliceUint16X(x.FptrSliceUint16, d)
			}
		case "FSliceUint32":
			z.F.DecSliceUint32X(&x.FSliceUint32, d)
		case "FptrSliceUint32":
			if r.TryNil() {
				if x.FptrSliceUint32 != nil { // remove the if-true
					x.FptrSliceUint32 = nil
				}
			} else {
				if x.FptrSliceUint32 == nil {
					x.FptrSliceUint32 = new([]uint32)
				}
				z.F.DecSliceUint32X(x.FptrSliceUint32, d)
			}
		case "FSliceUint64":
			z.F.DecSliceUint64X(&x.FSliceUint64, d)
		case "FptrSliceUint64":
			if r.TryNil() {
				if x.FptrSliceUint64 != nil { // remove the if-true
					x.FptrSliceUint64 = nil
				}
			} else {
				if x.FptrSliceUint64 == nil {
					x.FptrSliceUint64 = new([]uint64)
				}
				z.F.DecSliceUint64X(x.FptrSliceUint64, d)
			}
		case "FSliceInt":
			z.F.DecSliceIntX(&x.FSliceInt, d)
		case "FptrSliceInt":
			if r.TryNil() {
				if x.FptrSliceInt != nil { // remove the if-true
					x.FptrSliceInt = nil
				}
			} else {
				if x.FptrSliceInt == nil {
					x.FptrSliceInt = new([]int)
				}
				z.F.DecSliceIntX(x.FptrSliceInt, d)
			}
		case "FSliceInt8":
			z.F.DecSliceInt8X(&x.FSliceInt8, d)
		case "FptrSliceInt8":
			if r.TryNil() {
				if x.FptrSliceInt8 != nil { // remove the if-true
					x.FptrSliceInt8 = nil
				}
			} else {
				if x.FptrSliceInt8 == nil {
					x.FptrSliceInt8 = new([]int8)
				}
				z.F.DecSliceInt8X(x.FptrSliceInt8, d)
			}
		case "FSliceInt16":
			z.F.DecSliceInt16X(&x.FSliceInt16, d)
		case "FptrSliceInt16":
			if r.TryNil() {
				if x.FptrSliceInt16 != nil { // remove the if-true
					x.FptrSliceInt16 = nil
				}
			} else {
				if x.FptrSliceInt16 == nil {
					x.FptrSliceInt16 = new([]int16)
				}
				z.F.DecSliceInt16X(x.FptrSliceInt16, d)
			}
		case "FSliceInt32":
			z.F.DecSliceInt32X(&x.FSliceInt32, d)
		case "FptrSliceInt32":
			if r.TryNil() {
				if x.FptrSliceInt32 != nil { // remove the if-true
					x.FptrSliceInt32 = nil
				}
			} else {
				if x.FptrSliceInt32 == nil {
					x.FptrSliceInt32 = new([]int32)
				}
				z.F.DecSliceInt32X(x.FptrSliceInt32, d)
			}
		case "FSliceInt64":
			z.F.DecSliceInt64X(&x.FSliceInt64, d)
		case "FptrSliceInt64":
			if r.TryNil() {
				if x.FptrSliceInt64 != nil { // remove the if-true
					x.FptrSliceInt64 = nil
				}
			} else {
				if x.FptrSliceInt64 == nil {
					x.FptrSliceInt64 = new([]int64)
				}
				z.F.DecSliceInt64X(x.FptrSliceInt64, d)
			}
		case "FSliceBool":
			z.F.DecSliceBoolX(&x.FSliceBool, d)
		case "FptrSliceBool":
			if r.TryNil() {
				if x.FptrSliceBool != nil { // remove the if-true
					x.FptrSliceBool = nil
				}
			} else {
				if x.FptrSliceBool == nil {
					x.FptrSliceBool = new([]bool)
				}
				z.F.DecSliceBoolX(x.FptrSliceBool, d)
			}
		case "FMapStringIntf":
			z.F.DecMapStringIntfX(&x.FMapStringIntf, d)
		case "FptrMapStringIntf":
			if r.TryNil() {
				if x.FptrMapStringIntf != nil { // remove the if-true
					x.FptrMapStringIntf = nil
				}
			} else {
				if x.FptrMapStringIntf == nil {
					x.FptrMapStringIntf = new(map[string]interface{})
				}
				z.F.DecMapStringIntfX(x.FptrMapStringIntf, d)
			}
		case "FMapStringString":
			z.F.DecMapStringStringX(&x.FMapStringString, d)
		case "FptrMapStringString":
			if r.TryNil() {
				if x.FptrMapStringString != nil { // remove the if-true
					x.FptrMapStringString = nil
				}
			} else {
				if x.FptrMapStringString == nil {
					x.FptrMapStringString = new(map[string]string)
				}
				z.F.DecMapStringStringX(x.FptrMapStringString, d)
			}
		case "FMapStringBytes":
			z.F.DecMapStringBytesX(&x.FMapStringBytes, d)
		case "FptrMapStringBytes":
			if r.TryNil() {
				if x.FptrMapStringBytes != nil { // remove the if-true
					x.FptrMapStringBytes = nil
				}
			} else {
				if x.FptrMapStringBytes == nil {
					x.FptrMapStringBytes = new(map[string][]uint8)
				}
				z.F.DecMapStringBytesX(x.FptrMapStringBytes, d)
			}
		case "FMapStringUint":
			z.F.DecMapStringUintX(&x.FMapStringUint, d)
		case "FptrMapStringUint":
			if r.TryNil() {
				if x.FptrMapStringUint != nil { // remove the if-true
					x.FptrMapStringUint = nil
				}
			} else {
				if x.FptrMapStringUint == nil {
					x.FptrMapStringUint = new(map[string]uint)
				}
				z.F.DecMapStringUintX(x.FptrMapStringUint, d)
			}
		case "FMapStringUint8":
			z.F.DecMapStringUint8X(&x.FMapStringUint8, d)
		case "FptrMapStringUint8":
			if r.TryNil() {
				if x.FptrMapStringUint8 != nil { // remove the if-true
					x.FptrMapStringUint8 = nil
				}
			} else {
				if x.FptrMapStringUint8 == nil {
					x.FptrMapStringUint8 = new(map[string]uint8)
				}
				z.F.DecMapStringUint8X(x.FptrMapStringUint8, d)
			}
		case "FMapStringUint64":
			z.F.DecMapStringUint64X(&x.FMapStringUint64, d)
		case "FptrMapStringUint64":
			if r.TryNil() {
				if x.FptrMapStringUint64 != nil { // remove the if-true
					x.FptrMapStringUint64 = nil
				}
			} else {
				if x.FptrMapStringUint64 == nil {
					x.FptrMapStringUint64 = new(map[string]uint64)
				}
				z.F.DecMapStringUint64X(x.FptrMapStringUint64, d)
			}
		case "FMapStringInt":
			z.F.DecMapStringIntX(&x.FMapStringInt, d)
		case "FptrMapStringInt":
			if r.TryNil() {
				if x.FptrMapStringInt != nil { // remove the if-true
					x.FptrMapStringInt = nil
				}
			} else {
				if x.FptrMapStringInt == nil {
					x.FptrMapStringInt = new(map[string]int)
				}
				z.F.DecMapStringIntX(x.FptrMapStringInt, d)
			}
		case "FMapStringInt64":
			z.F.DecMapStringInt64X(&x.FMapStringInt64, d)
		case "FptrMapStringInt64":
			if r.TryNil() {
				if x.FptrMapStringInt64 != nil { // remove the if-true
					x.FptrMapStringInt64 = nil
				}
			} else {
				if x.FptrMapStringInt64 == nil {
					x.FptrMapStringInt64 = new(map[string]int64)
				}
				z.F.DecMapStringInt64X(x.FptrMapStringInt64, d)
			}
		case "FMapStringFloat32":
			z.F.DecMapStringFloat32X(&x.FMapStringFloat32, d)
		case "FptrMapStringFloat32":
			if r.TryNil() {
				if x.FptrMapStringFloat32 != nil { // remove the if-true
					x.FptrMapStringFloat32 = nil
				}
			} else {
				if x.FptrMapStringFloat32 == nil {
					x.FptrMapStringFloat32 = new(map[string]float32)
				}
				z.F.DecMapStringFloat32X(x.FptrMapStringFloat32, d)
			}
		case "FMapStringFloat64":
			z.F.DecMapStringFloat64X(&x.FMapStringFloat64, d)
		case "FptrMapStringFloat64":
			if r.TryNil() {
				if x.FptrMapStringFloat64 != nil { // remove the if-true
					x.FptrMapStringFloat64 = nil
				}
			} else {
				if x.FptrMapStringFloat64 == nil {
					x.FptrMapStringFloat64 = new(map[string]float64)
				}
				z.F.DecMapStringFloat64X(x.FptrMapStringFloat64, d)
			}
		case "FMapStringBool":
			z.F.DecMapStringBoolX(&x.FMapStringBool, d)
		case "FptrMapStringBool":
			if r.TryNil() {
				if x.FptrMapStringBool != nil { // remove the if-true
					x.FptrMapStringBool = nil
				}
			} else {
				if x.FptrMapStringBool == nil {
					x.FptrMapStringBool = new(map[string]bool)
				}
				z.F.DecMapStringBoolX(x.FptrMapStringBool, d)
			}
		case "FMapUintIntf":
			z.F.DecMapUintIntfX(&x.FMapUintIntf, d)
		case "FptrMapUintIntf":
			if r.TryNil() {
				if x.FptrMapUintIntf != nil { // remove the if-true
					x.FptrMapUintIntf = nil
				}
			} else {
				if x.FptrMapUintIntf == nil {
					x.FptrMapUintIntf = new(map[uint]interface{})
				}
				z.F.DecMapUintIntfX(x.FptrMapUintIntf, d)
			}
		case "FMapUintString":
			z.F.DecMapUintStringX(&x.FMapUintString, d)
		case "FptrMapUintString":
			if r.TryNil() {
				if x.FptrMapUintString != nil { // remove the if-true
					x.FptrMapUintString = nil
				}
			} else {
				if x.FptrMapUintString == nil {
					x.FptrMapUintString = new(map[uint]string)
				}
				z.F.DecMapUintStringX(x.FptrMapUintString, d)
			}
		case "FMapUintBytes":
			z.F.DecMapUintBytesX(&x.FMapUintBytes, d)
		case "FptrMapUintBytes":
			if r.TryNil() {
				if x.FptrMapUintBytes != nil { // remove the if-true
					x.FptrMapUintBytes = nil
				}
			} else {
				if x.FptrMapUintBytes == nil {
					x.FptrMapUintBytes = new(map[uint][]uint8)
				}
				z.F.DecMapUintBytesX(x.FptrMapUintBytes, d)
			}
		case "FMapUintUint":
			z.F.DecMapUintUintX(&x.FMapUintUint, d)
		case "FptrMapUintUint":
			if r.TryNil() {
				if x.FptrMapUintUint != nil { // remove the if-true
					x.FptrMapUintUint = nil
				}
			} else {
				if x.FptrMapUintUint == nil {
					x.FptrMapUintUint = new(map[uint]uint)
				}
				z.F.DecMapUintUintX(x.FptrMapUintUint, d)
			}
		case "FMapUintUint8":
			z.F.DecMapUintUint8X(&x.FMapUintUint8, d)
		case "FptrMapUintUint8":
			if r.TryNil() {
				if x.FptrMapUintUint8 != nil { // remove the if-true
					x.FptrMapUintUint8 = nil
				}
			} else {
				if x.FptrMapUintUint8 == nil {
					x.FptrMapUintUint8 = new(map[uint]uint8)
				}
				z.F.DecMapUintUint8X(x.FptrMapUintUint8, d)
			}
		case "FMapUintUint64":
			z.F.DecMapUintUint64X(&x.FMapUintUint64, d)
		case "FptrMapUintUint64":
			if r.TryNil() {
				if x.FptrMapUintUint64 != nil { // remove the if-true
					x.FptrMapUintUint64 = nil
				}
			} else {
				if x.FptrMapUintUint64 == nil {
					x.FptrMapUintUint64 = new(map[uint]uint64)
				}
				z.F.DecMapUintUint64X(x.FptrMapUintUint64, d)
			}
		case "FMapUintInt":
			z.F.DecMapUintIntX(&x.FMapUintInt, d)
		case "FptrMapUintInt":
			if r.TryNil() {
				if x.FptrMapUintInt != nil { // remove the if-true
					x.FptrMapUintInt = nil
				}
			} else {
				if x.FptrMapUintInt == nil {
					x.FptrMapUintInt = new(map[uint]int)
				}
				z.F.DecMapUintIntX(x.FptrMapUintInt, d)
			}
		case "FMapUintInt64":
			z.F.DecMapUintInt64X(&x.FMapUintInt64, d)
		case "FptrMapUintInt64":
			if r.TryNil() {
				if x.FptrMapUintInt64 != nil { // remove the if-true
					x.FptrMapUintInt64 = nil
				}
			} else {
				if x.FptrMapUintInt64 == nil {
					x.FptrMapUintInt64 = new(map[uint]int64)
				}
				z.F.DecMapUintInt64X(x.FptrMapUintInt64, d)
			}
		case "FMapUintFloat32":
			z.F.DecMapUintFloat32X(&x.FMapUintFloat32, d)
		case "FptrMapUintFloat32":
			if r.TryNil() {
				if x.FptrMapUintFloat32 != nil { // remove the if-true
					x.FptrMapUintFloat32 = nil
				}
			} else {
				if x.FptrMapUintFloat32 == nil {
					x.FptrMapUintFloat32 = new(map[uint]float32)
				}
				z.F.DecMapUintFloat32X(x.FptrMapUintFloat32, d)
			}
		case "FMapUintFloat64":
			z.F.DecMapUintFloat64X(&x.FMapUintFloat64, d)
		case "FptrMapUintFloat64":
			if r.TryNil() {
				if x.FptrMapUintFloat64 != nil { // remove the if-true
					x.FptrMapUintFloat64 = nil
				}
			} else {
				if x.FptrMapUintFloat64 == nil {
					x.FptrMapUintFloat64 = new(map[uint]float64)
				}
				z.F.DecMapUintFloat64X(x.FptrMapUintFloat64, d)
			}
		case "FMapUintBool":
			z.F.DecMapUintBoolX(&x.FMapUintBool, d)
		case "FptrMapUintBool":
			if r.TryNil() {
				if x.FptrMapUintBool != nil { // remove the if-true
					x.FptrMapUintBool = nil
				}
			} else {
				if x.FptrMapUintBool == nil {
					x.FptrMapUintBool = new(map[uint]bool)
				}
				z.F.DecMapUintBoolX(x.FptrMapUintBool, d)
			}
		case "FMapUint8Intf":
			z.F.DecMapUint8IntfX(&x.FMapUint8Intf, d)
		case "FptrMapUint8Intf":
			if r.TryNil() {
				if x.FptrMapUint8Intf != nil { // remove the if-true
					x.FptrMapUint8Intf = nil
				}
			} else {
				if x.FptrMapUint8Intf == nil {
					x.FptrMapUint8Intf = new(map[uint8]interface{})
				}
				z.F.DecMapUint8IntfX(x.FptrMapUint8Intf, d)
			}
		case "FMapUint8String":
			z.F.DecMapUint8StringX(&x.FMapUint8String, d)
		case "FptrMapUint8String":
			if r.TryNil() {
				if x.FptrMapUint8String != nil { // remove the if-true
					x.FptrMapUint8String = nil
				}
			} else {
				if x.FptrMapUint8String == nil {
					x.FptrMapUint8String = new(map[uint8]string)
				}
				z.F.DecMapUint8StringX(x.FptrMapUint8String, d)
			}
		case "FMapUint8Bytes":
			z.F.DecMapUint8BytesX(&x.FMapUint8Bytes, d)
		case "FptrMapUint8Bytes":
			if r.TryNil() {
				if x.FptrMapUint8Bytes != nil { // remove the if-true
					x.FptrMapUint8Bytes = nil
				}
			} else {
				if x.FptrMapUint8Bytes == nil {
					x.FptrMapUint8Bytes = new(map[uint8][]uint8)
				}
				z.F.DecMapUint8BytesX(x.FptrMapUint8Bytes, d)
			}
		case "FMapUint8Uint":
			z.F.DecMapUint8UintX(&x.FMapUint8Uint, d)
		case "FptrMapUint8Uint":
			if r.TryNil() {
				if x.FptrMapUint8Uint != nil { // remove the if-true
					x.FptrMapUint8Uint = nil
				}
			} else {
				if x.FptrMapUint8Uint == nil {
					x.FptrMapUint8Uint = new(map[uint8]uint)
				}
				z.F.DecMapUint8UintX(x.FptrMapUint8Uint, d)
			}
		case "FMapUint8Uint8":
			z.F.DecMapUint8Uint8X(&x.FMapUint8Uint8, d)
		case "FptrMapUint8Uint8":
			if r.TryNil() {
				if x.FptrMapUint8Uint8 != nil { // remove the if-true
					x.FptrMapUint8Uint8 = nil
				}
			} else {
				if x.FptrMapUint8Uint8 == nil {
					x.FptrMapUint8Uint8 = new(map[uint8]uint8)
				}
				z.F.DecMapUint8Uint8X(x.FptrMapUint8Uint8, d)
			}
		case "FMapUint8Uint64":
			z.F.DecMapUint8Uint64X(&x.FMapUint8Uint64, d)
		case "FptrMapUint8Uint64":
			if r.TryNil() {
				if x.FptrMapUint8Uint64 != nil { // remove the if-true
					x.FptrMapUint8Uint64 = nil
				}
			} else {
				if x.FptrMapUint8Uint64 == nil {
					x.FptrMapUint8Uint64 = new(map[uint8]uint64)
				}
				z.F.DecMapUint8Uint64X(x.FptrMapUint8Uint64, d)
			}
		case "FMapUint8Int":
			z.F.DecMapUint8IntX(&x.FMapUint8Int, d)
		case "FptrMapUint8Int":
			if r.TryNil() {
				if x.FptrMapUint8Int != nil { // remove the if-true
					x.FptrMapUint8Int = nil
				}
			} else {
				if x.FptrMapUint8Int == nil {
					x.FptrMapUint8Int = new(map[uint8]int)
				}
				z.F.DecMapUint8IntX(x.FptrMapUint8Int, d)
			}
		case "FMapUint8Int64":
			z.F.DecMapUint8Int64X(&x.FMapUint8Int64, d)
		case "FptrMapUint8Int64":
			if r.TryNil() {
				if x.FptrMapUint8Int64 != nil { // remove the if-true
					x.FptrMapUint8Int64 = nil
				}
			} else {
				if x.FptrMapUint8Int64 == nil {
					x.FptrMapUint8Int64 = new(map[uint8]int64)
				}
				z.F.DecMapUint8Int64X(x.FptrMapUint8Int64, d)
			}
		case "FMapUint8Float32":
			z.F.DecMapUint8Float32X(&x.FMapUint8Float32, d)
		case "FptrMapUint8Float32":
			if r.TryNil() {
				if x.FptrMapUint8Float32 != nil { // remove the if-true
					x.FptrMapUint8Float32 = nil
				}
			} else {
				if x.FptrMapUint8Float32 == nil {
					x.FptrMapUint8Float32 = new(map[uint8]float32)
				}
				z.F.DecMapUint8Float32X(x.FptrMapUint8Float32, d)
			}
		case "FMapUint8Float64":
			z.F.DecMapUint8Float64X(&x.FMapUint8Float64, d)
		case "FptrMapUint8Float64":
			if r.TryNil() {
				if x.FptrMapUint8Float64 != nil { // remove the if-true
					x.FptrMapUint8Float64 = nil
				}
			} else {
				if x.FptrMapUint8Float64 == nil {
					x.FptrMapUint8Float64 = new(map[uint8]float64)
				}
				z.F.DecMapUint8Float64X(x.FptrMapUint8Float64, d)
			}
		case "FMapUint8Bool":
			z.F.DecMapUint8BoolX(&x.FMapUint8Bool, d)
		case "FptrMapUint8Bool":
			if r.TryNil() {
				if x.FptrMapUint8Bool != nil { // remove the if-true
					x.FptrMapUint8Bool = nil
				}
			} else {
				if x.FptrMapUint8Bool == nil {
					x.FptrMapUint8Bool = new(map[uint8]bool)
				}
				z.F.DecMapUint8BoolX(x.FptrMapUint8Bool, d)
			}
		case "FMapUint64Intf":
			z.F.DecMapUint64IntfX(&x.FMapUint64Intf, d)
		case "FptrMapUint64Intf":
			if r.TryNil() {
				if x.FptrMapUint64Intf != nil { // remove the if-true
					x.FptrMapUint64Intf = nil
				}
			} else {
				if x.FptrMapUint64Intf == nil {
					x.FptrMapUint64Intf = new(map[uint64]interface{})
				}
				z.F.DecMapUint64IntfX(x.FptrMapUint64Intf, d)
			}
		case "FMapUint64String":
			z.F.DecMapUint64StringX(&x.FMapUint64String, d)
		case "FptrMapUint64String":
			if r.TryNil() {
				if x.FptrMapUint64String != nil { // remove the if-true
					x.FptrMapUint64String = nil
				}
			} else {
				if x.FptrMapUint64String == nil {
					x.FptrMapUint64String = new(map[uint64]string)
				}
				z.F.DecMapUint64StringX(x.FptrMapUint64String, d)
			}
		case "FMapUint64Bytes":
			z.F.DecMapUint64BytesX(&x.FMapUint64Bytes, d)
		case "FptrMapUint64Bytes":
			if r.TryNil() {
				if x.FptrMapUint64Bytes != nil { // remove the if-true
					x.FptrMapUint64Bytes = nil
				}
			} else {
				if x.FptrMapUint64Bytes == nil {
					x.FptrMapUint64Bytes = new(map[uint64][]uint8)
				}
				z.F.DecMapUint64BytesX(x.FptrMapUint64Bytes, d)
			}
		case "FMapUint64Uint":
			z.F.DecMapUint64UintX(&x.FMapUint64Uint, d)
		case "FptrMapUint64Uint":
			if r.TryNil() {
				if x.FptrMapUint64Uint != nil { // remove the if-true
					x.FptrMapUint64Uint = nil
				}
			} else {
				if x.FptrMapUint64Uint == nil {
					x.FptrMapUint64Uint = new(map[uint64]uint)
				}
				z.F.DecMapUint64UintX(x.FptrMapUint64Uint, d)
			}
		case "FMapUint64Uint8":
			z.F.DecMapUint64Uint8X(&x.FMapUint64Uint8, d)
		case "FptrMapUint64Uint8":
			if r.TryNil() {
				if x.FptrMapUint64Uint8 != nil { // remove the if-true
					x.FptrMapUint64Uint8 = nil
				}
			} else {
				if x.FptrMapUint64Uint8 == nil {
					x.FptrMapUint64Uint8 = new(map[uint64]uint8)
				}
				z.F.DecMapUint64Uint8X(x.FptrMapUint64Uint8, d)
			}
		case "FMapUint64Uint64":
			z.F.DecMapUint64Uint64X(&x.FMapUint64Uint64, d)
		case "FptrMapUint64Uint64":
			if r.TryNil() {
				if x.FptrMapUint64Uint64 != nil { // remove the if-true
					x.FptrMapUint64Uint64 = nil
				}
			} else {
				if x.FptrMapUint64Uint64 == nil {
					x.FptrMapUint64Uint64 = new(map[uint64]uint64)
				}
				z.F.DecMapUint64Uint64X(x.FptrMapUint64Uint64, d)
			}
		case "FMapUint64Int":
			z.F.DecMapUint64IntX(&x.FMapUint64Int, d)
		case "FptrMapUint64Int":
			if r.TryNil() {
				if x.FptrMapUint64Int != nil { // remove the if-true
					x.FptrMapUint64Int = nil
				}
			} else {
				if x.FptrMapUint64Int == nil {
					x.FptrMapUint64Int = new(map[uint64]int)
				}
				z.F.DecMapUint64IntX(x.FptrMapUint64Int, d)
			}
		case "FMapUint64Int64":
			z.F.DecMapUint64Int64X(&x.FMapUint64Int64, d)
		case "FptrMapUint64Int64":
			if r.TryNil() {
				if x.FptrMapUint64Int64 != nil { // remove the if-true
					x.FptrMapUint64Int64 = nil
				}
			} else {
				if x.FptrMapUint64Int64 == nil {
					x.FptrMapUint64Int64 = new(map[uint64]int64)
				}
				z.F.DecMapUint64Int64X(x.FptrMapUint64Int64, d)
			}
		case "FMapUint64Float32":
			z.F.DecMapUint64Float32X(&x.FMapUint64Float32, d)
		case "FptrMapUint64Float32":
			if r.TryNil() {
				if x.FptrMapUint64Float32 != nil { // remove the if-true
					x.FptrMapUint64Float32 = nil
				}
			} else {
				if x.FptrMapUint64Float32 == nil {
					x.FptrMapUint64Float32 = new(map[uint64]float32)
				}
				z.F.DecMapUint64Float32X(x.FptrMapUint64Float32, d)
			}
		case "FMapUint64Float64":
			z.F.DecMapUint64Float64X(&x.FMapUint64Float64, d)
		case "FptrMapUint64Float64":
			if r.TryNil() {
				if x.FptrMapUint64Float64 != nil { // remove the if-true
					x.FptrMapUint64Float64 = nil
				}
			} else {
				if x.FptrMapUint64Float64 == nil {
					x.FptrMapUint64Float64 = new(map[uint64]float64)
				}
				z.F.DecMapUint64Float64X(x.FptrMapUint64Float64, d)
			}
		case "FMapUint64Bool":
			z.F.DecMapUint64BoolX(&x.FMapUint64Bool, d)
		case "FptrMapUint64Bool":
			if r.TryNil() {
				if x.FptrMapUint64Bool != nil { // remove the if-true
					x.FptrMapUint64Bool = nil
				}
			} else {
				if x.FptrMapUint64Bool == nil {
					x.FptrMapUint64Bool = new(map[uint64]bool)
				}
				z.F.DecMapUint64BoolX(x.FptrMapUint64Bool, d)
			}
		case "FMapIntIntf":
			z.F.DecMapIntIntfX(&x.FMapIntIntf, d)
		case "FptrMapIntIntf":
			if r.TryNil() {
				if x.FptrMapIntIntf != nil { // remove the if-true
					x.FptrMapIntIntf = nil
				}
			} else {
				if x.FptrMapIntIntf == nil {
					x.FptrMapIntIntf = new(map[int]interface{})
				}
				z.F.DecMapIntIntfX(x.FptrMapIntIntf, d)
			}
		case "FMapIntString":
			z.F.DecMapIntStringX(&x.FMapIntString, d)
		case "FptrMapIntString":
			if r.TryNil() {
				if x.FptrMapIntString != nil { // remove the if-true
					x.FptrMapIntString = nil
				}
			} else {
				if x.FptrMapIntString == nil {
					x.FptrMapIntString = new(map[int]string)
				}
				z.F.DecMapIntStringX(x.FptrMapIntString, d)
			}
		case "FMapIntBytes":
			z.F.DecMapIntBytesX(&x.FMapIntBytes, d)
		case "FptrMapIntBytes":
			if r.TryNil() {
				if x.FptrMapIntBytes != nil { // remove the if-true
					x.FptrMapIntBytes = nil
				}
			} else {
				if x.FptrMapIntBytes == nil {
					x.FptrMapIntBytes = new(map[int][]uint8)
				}
				z.F.DecMapIntBytesX(x.FptrMapIntBytes, d)
			}
		case "FMapIntUint":
			z.F.DecMapIntUintX(&x.FMapIntUint, d)
		case "FptrMapIntUint":
			if r.TryNil() {
				if x.FptrMapIntUint != nil { // remove the if-true
					x.FptrMapIntUint = nil
				}
			} else {
				if x.FptrMapIntUint == nil {
					x.FptrMapIntUint = new(map[int]uint)
				}
				z.F.DecMapIntUintX(x.FptrMapIntUint, d)
			}
		case "FMapIntUint8":
			z.F.DecMapIntUint8X(&x.FMapIntUint8, d)
		case "FptrMapIntUint8":
			if r.TryNil() {
				if x.FptrMapIntUint8 != nil { // remove the if-true
					x.FptrMapIntUint8 = nil
				}
			} else {
				if x.FptrMapIntUint8 == nil {
					x.FptrMapIntUint8 = new(map[int]uint8)
				}
				z.F.DecMapIntUint8X(x.FptrMapIntUint8, d)
			}
		case "FMapIntUint64":
			z.F.DecMapIntUint64X(&x.FMapIntUint64, d)
		case "FptrMapIntUint64":
			if r.TryNil() {
				if x.FptrMapIntUint64 != nil { // remove the if-true
					x.FptrMapIntUint64 = nil
				}
			} else {
				if x.FptrMapIntUint64 == nil {
					x.FptrMapIntUint64 = new(map[int]uint64)
				}
				z.F.DecMapIntUint64X(x.FptrMapIntUint64, d)
			}
		case "FMapIntInt":
			z.F.DecMapIntIntX(&x.FMapIntInt, d)
		case "FptrMapIntInt":
			if r.TryNil() {
				if x.FptrMapIntInt != nil { // remove the if-true
					x.FptrMapIntInt = nil
				}
			} else {
				if x.FptrMapIntInt == nil {
					x.FptrMapIntInt = new(map[int]int)
				}
				z.F.DecMapIntIntX(x.FptrMapIntInt, d)
			}
		case "FMapIntInt64":
			z.F.DecMapIntInt64X(&x.FMapIntInt64, d)
		case "FptrMapIntInt64":
			if r.TryNil() {
				if x.FptrMapIntInt64 != nil { // remove the if-true
					x.FptrMapIntInt64 = nil
				}
			} else {
				if x.FptrMapIntInt64 == nil {
					x.FptrMapIntInt64 = new(map[int]int64)
				}
				z.F.DecMapIntInt64X(x.FptrMapIntInt64, d)
			}
		case "FMapIntFloat32":
			z.F.DecMapIntFloat32X(&x.FMapIntFloat32, d)
		case "FptrMapIntFloat32":
			if r.TryNil() {
				if x.FptrMapIntFloat32 != nil { // remove the if-true
					x.FptrMapIntFloat32 = nil
				}
			} else {
				if x.FptrMapIntFloat32 == nil {
					x.FptrMapIntFloat32 = new(map[int]float32)
				}
				z.F.DecMapIntFloat32X(x.FptrMapIntFloat32, d)
			}
		case "FMapIntFloat64":
			z.F.DecMapIntFloat64X(&x.FMapIntFloat64, d)
		case "FptrMapIntFloat64":
			if r.TryNil() {
				if x.FptrMapIntFloat64 != nil { // remove the if-true
					x.FptrMapIntFloat64 = nil
				}
			} else {
				if x.FptrMapIntFloat64 == nil {
					x.FptrMapIntFloat64 = new(map[int]float64)
				}
				z.F.DecMapIntFloat64X(x.FptrMapIntFloat64, d)
			}
		case "FMapIntBool":
			z.F.DecMapIntBoolX(&x.FMapIntBool, d)
		case "FptrMapIntBool":
			if r.TryNil() {
				if x.FptrMapIntBool != nil { // remove the if-true
					x.FptrMapIntBool = nil
				}
			} else {
				if x.FptrMapIntBool == nil {
					x.FptrMapIntBool = new(map[int]bool)
				}
				z.F.DecMapIntBoolX(x.FptrMapIntBool, d)
			}
		case "FMapInt64Intf":
			z.F.DecMapInt64IntfX(&x.FMapInt64Intf, d)
		case "FptrMapInt64Intf":
			if r.TryNil() {
				if x.FptrMapInt64Intf != nil { // remove the if-true
					x.FptrMapInt64Intf = nil
				}
			} else {
				if x.FptrMapInt64Intf == nil {
					x.FptrMapInt64Intf = new(map[int64]interface{})
				}
				z.F.DecMapInt64IntfX(x.FptrMapInt64Intf, d)
			}
		case "FMapInt64String":
			z.F.DecMapInt64StringX(&x.FMapInt64String, d)
		case "FptrMapInt64String":
			if r.TryNil() {
				if x.FptrMapInt64String != nil { // remove the if-true
					x.FptrMapInt64String = nil
				}
			} else {
				if x.FptrMapInt64String == nil {
					x.FptrMapInt64String = new(map[int64]string)
				}
				z.F.DecMapInt64StringX(x.FptrMapInt64String, d)
			}
		case "FMapInt64Bytes":
			z.F.DecMapInt64BytesX(&x.FMapInt64Bytes, d)
		case "FptrMapInt64Bytes":
			if r.TryNil() {
				if x.FptrMapInt64Bytes != nil { // remove the if-true
					x.FptrMapInt64Bytes = nil
				}
			} else {
				if x.FptrMapInt64Bytes == nil {
					x.FptrMapInt64Bytes = new(map[int64][]uint8)
				}
				z.F.DecMapInt64BytesX(x.FptrMapInt64Bytes, d)
			}
		case "FMapInt64Uint":
			z.F.DecMapInt64UintX(&x.FMapInt64Uint, d)
		case "FptrMapInt64Uint":
			if r.TryNil() {
				if x.FptrMapInt64Uint != nil { // remove the if-true
					x.FptrMapInt64Uint = nil
				}
			} else {
				if x.FptrMapInt64Uint == nil {
					x.FptrMapInt64Uint = new(map[int64]uint)
				}
				z.F.DecMapInt64UintX(x.FptrMapInt64Uint, d)
			}
		case "FMapInt64Uint8":
			z.F.DecMapInt64Uint8X(&x.FMapInt64Uint8, d)
		case "FptrMapInt64Uint8":
			if r.TryNil() {
				if x.FptrMapInt64Uint8 != nil { // remove the if-true
					x.FptrMapInt64Uint8 = nil
				}
			} else {
				if x.FptrMapInt64Uint8 == nil {
					x.FptrMapInt64Uint8 = new(map[int64]uint8)
				}
				z.F.DecMapInt64Uint8X(x.FptrMapInt64Uint8, d)
			}
		case "FMapInt64Uint64":
			z.F.DecMapInt64Uint64X(&x.FMapInt64Uint64, d)
		case "FptrMapInt64Uint64":
			if r.TryNil() {
				if x.FptrMapInt64Uint64 != nil { // remove the if-true
					x.FptrMapInt64Uint64 = nil
				}
			} else {
				if x.FptrMapInt64Uint64 == nil {
					x.FptrMapInt64Uint64 = new(map[int64]uint64)
				}
				z.F.DecMapInt64Uint64X(x.FptrMapInt64Uint64, d)
			}
		case "FMapInt64Int":
			z.F.DecMapInt64IntX(&x.FMapInt64Int, d)
		case "FptrMapInt64Int":
			if r.TryNil() {
				if x.FptrMapInt64Int != nil { // remove the if-true
					x.FptrMapInt64Int = nil
				}
			} else {
				if x.FptrMapInt64Int == nil {
					x.FptrMapInt64Int = new(map[int64]int)
				}
				z.F.DecMapInt64IntX(x.FptrMapInt64Int, d)
			}
		case "FMapInt64Int64":
			z.F.DecMapInt64Int64X(&x.FMapInt64Int64, d)
		case "FptrMapInt64Int64":
			if r.TryNil() {
				if x.FptrMapInt64Int64 != nil { // remove the if-true
					x.FptrMapInt64Int64 = nil
				}
			} else {
				if x.FptrMapInt64Int64 == nil {
					x.FptrMapInt64Int64 = new(map[int64]int64)
				}
				z.F.DecMapInt64Int64X(x.FptrMapInt64Int64, d)
			}
		case "FMapInt64Float32":
			z.F.DecMapInt64Float32X(&x.FMapInt64Float32, d)
		case "FptrMapInt64Float32":
			if r.TryNil() {
				if x.FptrMapInt64Float32 != nil { // remove the if-true
					x.FptrMapInt64Float32 = nil
				}
			} else {
				if x.FptrMapInt64Float32 == nil {
					x.FptrMapInt64Float32 = new(map[int64]float32)
				}
				z.F.DecMapInt64Float32X(x.FptrMapInt64Float32, d)
			}
		case "FMapInt64Float64":
			z.F.DecMapInt64Float64X(&x.FMapInt64Float64, d)
		case "FptrMapInt64Float64":
			if r.TryNil() {
				if x.FptrMapInt64Float64 != nil { // remove the if-true
					x.FptrMapInt64Float64 = nil
				}
			} else {
				if x.FptrMapInt64Float64 == nil {
					x.FptrMapInt64Float64 = new(map[int64]float64)
				}
				z.F.DecMapInt64Float64X(x.FptrMapInt64Float64, d)
			}
		case "FMapInt64Bool":
			z.F.DecMapInt64BoolX(&x.FMapInt64Bool, d)
		case "FptrMapInt64Bool":
			if r.TryNil() {
				if x.FptrMapInt64Bool != nil { // remove the if-true
					x.FptrMapInt64Bool = nil
				}
			} else {
				if x.FptrMapInt64Bool == nil {
					x.FptrMapInt64Bool = new(map[int64]bool)
				}
				z.F.DecMapInt64BoolX(x.FptrMapInt64Bool, d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
}

func (x *TestMammoth2) codecDecodeSelfFromArray(l int, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj381 int
	var yyb381 bool
	var yyhl381 bool = l >= 0
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.DecFallback(&x.FIntf, true)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrIntf != nil { // remove the if-true
			x.FptrIntf = nil
		}
	} else {
		if x.FptrIntf == nil {
			x.FptrIntf = new(interface{})
		}
		z.DecFallback(x.FptrIntf, true)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FString = (string)(string(r.DecodeStringAsBytes()))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrString != nil { // remove the if-true
			x.FptrString = nil
		}
	} else {
		if x.FptrString == nil {
			x.FptrString = new(string)
		}
		*x.FptrString = (string)(string(r.DecodeStringAsBytes()))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FBytes = r.DecodeBytes(([]byte)(x.FBytes), false)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrBytes != nil { // remove the if-true
			x.FptrBytes = nil
		}
	} else {
		if x.FptrBytes == nil {
			x.FptrBytes = new([]uint8)
		}
		*x.FptrBytes = r.DecodeBytes(*(*[]byte)(x.FptrBytes), false)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FFloat32 = (float32)(z.DecDecodeFloat32())
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrFloat32 != nil { // remove the if-true
			x.FptrFloat32 = nil
		}
	} else {
		if x.FptrFloat32 == nil {
			x.FptrFloat32 = new(float32)
		}
		*x.FptrFloat32 = (float32)(z.DecDecodeFloat32())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FFloat64 = (float64)(r.DecodeFloat64())
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrFloat64 != nil { // remove the if-true
			x.FptrFloat64 = nil
		}
	} else {
		if x.FptrFloat64 == nil {
			x.FptrFloat64 = new(float64)
		}
		*x.FptrFloat64 = (float64)(r.DecodeFloat64())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint = (uint)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint != nil { // remove the if-true
			x.FptrUint = nil
		}
	} else {
		if x.FptrUint == nil {
			x.FptrUint = new(uint)
		}
		*x.FptrUint = (uint)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint8 = (uint8)(z.C.UintV(r.DecodeUint64(), 8))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint8 != nil { // remove the if-true
			x.FptrUint8 = nil
		}
	} else {
		if x.FptrUint8 == nil {
			x.FptrUint8 = new(uint8)
		}
		*x.FptrUint8 = (uint8)(z.C.UintV(r.DecodeUint64(), 8))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint16 = (uint16)(z.C.UintV(r.DecodeUint64(), 16))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint16 != nil { // remove the if-true
			x.FptrUint16 = nil
		}
	} else {
		if x.FptrUint16 == nil {
			x.FptrUint16 = new(uint16)
		}
		*x.FptrUint16 = (uint16)(z.C.UintV(r.DecodeUint64(), 16))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint32 = (uint32)(z.C.UintV(r.DecodeUint64(), 32))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint32 != nil { // remove the if-true
			x.FptrUint32 = nil
		}
	} else {
		if x.FptrUint32 == nil {
			x.FptrUint32 = new(uint32)
		}
		*x.FptrUint32 = (uint32)(z.C.UintV(r.DecodeUint64(), 32))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint64 = (uint64)(r.DecodeUint64())
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint64 != nil { // remove the if-true
			x.FptrUint64 = nil
		}
	} else {
		if x.FptrUint64 == nil {
			x.FptrUint64 = new(uint64)
		}
		*x.FptrUint64 = (uint64)(r.DecodeUint64())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUintptr = (uintptr)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUintptr != nil { // remove the if-true
			x.FptrUintptr = nil
		}
	} else {
		if x.FptrUintptr == nil {
			x.FptrUintptr = new(uintptr)
		}
		*x.FptrUintptr = (uintptr)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize19781))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt != nil { // remove the if-true
			x.FptrInt = nil
		}
	} else {
		if x.FptrInt == nil {
			x.FptrInt = new(int)
		}
		*x.FptrInt = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize19781))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt8 = (int8)(z.C.IntV(r.DecodeInt64(), 8))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt8 != nil { // remove the if-true
			x.FptrInt8 = nil
		}
	} else {
		if x.FptrInt8 == nil {
			x.FptrInt8 = new(int8)
		}
		*x.FptrInt8 = (int8)(z.C.IntV(r.DecodeInt64(), 8))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt16 = (int16)(z.C.IntV(r.DecodeInt64(), 16))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt16 != nil { // remove the if-true
			x.FptrInt16 = nil
		}
	} else {
		if x.FptrInt16 == nil {
			x.FptrInt16 = new(int16)
		}
		*x.FptrInt16 = (int16)(z.C.IntV(r.DecodeInt64(), 16))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt32 = (int32)(z.C.IntV(r.DecodeInt64(), 32))
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt32 != nil { // remove the if-true
			x.FptrInt32 = nil
		}
	} else {
		if x.FptrInt32 == nil {
			x.FptrInt32 = new(int32)
		}
		*x.FptrInt32 = (int32)(z.C.IntV(r.DecodeInt64(), 32))
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt64 = (int64)(r.DecodeInt64())
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt64 != nil { // remove the if-true
			x.FptrInt64 = nil
		}
	} else {
		if x.FptrInt64 == nil {
			x.FptrInt64 = new(int64)
		}
		*x.FptrInt64 = (int64)(r.DecodeInt64())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FBool = (bool)(r.DecodeBool())
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrBool != nil { // remove the if-true
			x.FptrBool = nil
		}
	} else {
		if x.FptrBool == nil {
			x.FptrBool = new(bool)
		}
		*x.FptrBool = (bool)(r.DecodeBool())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceIntfX(&x.FSliceIntf, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceIntf != nil { // remove the if-true
			x.FptrSliceIntf = nil
		}
	} else {
		if x.FptrSliceIntf == nil {
			x.FptrSliceIntf = new([]interface{})
		}
		z.F.DecSliceIntfX(x.FptrSliceIntf, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceStringX(&x.FSliceString, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceString != nil { // remove the if-true
			x.FptrSliceString = nil
		}
	} else {
		if x.FptrSliceString == nil {
			x.FptrSliceString = new([]string)
		}
		z.F.DecSliceStringX(x.FptrSliceString, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceBytesX(&x.FSliceBytes, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceBytes != nil { // remove the if-true
			x.FptrSliceBytes = nil
		}
	} else {
		if x.FptrSliceBytes == nil {
			x.FptrSliceBytes = new([][]uint8)
		}
		z.F.DecSliceBytesX(x.FptrSliceBytes, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceFloat32X(&x.FSliceFloat32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceFloat32 != nil { // remove the if-true
			x.FptrSliceFloat32 = nil
		}
	} else {
		if x.FptrSliceFloat32 == nil {
			x.FptrSliceFloat32 = new([]float32)
		}
		z.F.DecSliceFloat32X(x.FptrSliceFloat32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceFloat64X(&x.FSliceFloat64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceFloat64 != nil { // remove the if-true
			x.FptrSliceFloat64 = nil
		}
	} else {
		if x.FptrSliceFloat64 == nil {
			x.FptrSliceFloat64 = new([]float64)
		}
		z.F.DecSliceFloat64X(x.FptrSliceFloat64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceUintX(&x.FSliceUint, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceUint != nil { // remove the if-true
			x.FptrSliceUint = nil
		}
	} else {
		if x.FptrSliceUint == nil {
			x.FptrSliceUint = new([]uint)
		}
		z.F.DecSliceUintX(x.FptrSliceUint, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceUint16X(&x.FSliceUint16, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceUint16 != nil { // remove the if-true
			x.FptrSliceUint16 = nil
		}
	} else {
		if x.FptrSliceUint16 == nil {
			x.FptrSliceUint16 = new([]uint16)
		}
		z.F.DecSliceUint16X(x.FptrSliceUint16, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceUint32X(&x.FSliceUint32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceUint32 != nil { // remove the if-true
			x.FptrSliceUint32 = nil
		}
	} else {
		if x.FptrSliceUint32 == nil {
			x.FptrSliceUint32 = new([]uint32)
		}
		z.F.DecSliceUint32X(x.FptrSliceUint32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceUint64X(&x.FSliceUint64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceUint64 != nil { // remove the if-true
			x.FptrSliceUint64 = nil
		}
	} else {
		if x.FptrSliceUint64 == nil {
			x.FptrSliceUint64 = new([]uint64)
		}
		z.F.DecSliceUint64X(x.FptrSliceUint64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceIntX(&x.FSliceInt, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceInt != nil { // remove the if-true
			x.FptrSliceInt = nil
		}
	} else {
		if x.FptrSliceInt == nil {
			x.FptrSliceInt = new([]int)
		}
		z.F.DecSliceIntX(x.FptrSliceInt, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceInt8X(&x.FSliceInt8, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceInt8 != nil { // remove the if-true
			x.FptrSliceInt8 = nil
		}
	} else {
		if x.FptrSliceInt8 == nil {
			x.FptrSliceInt8 = new([]int8)
		}
		z.F.DecSliceInt8X(x.FptrSliceInt8, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceInt16X(&x.FSliceInt16, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceInt16 != nil { // remove the if-true
			x.FptrSliceInt16 = nil
		}
	} else {
		if x.FptrSliceInt16 == nil {
			x.FptrSliceInt16 = new([]int16)
		}
		z.F.DecSliceInt16X(x.FptrSliceInt16, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceInt32X(&x.FSliceInt32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceInt32 != nil { // remove the if-true
			x.FptrSliceInt32 = nil
		}
	} else {
		if x.FptrSliceInt32 == nil {
			x.FptrSliceInt32 = new([]int32)
		}
		z.F.DecSliceInt32X(x.FptrSliceInt32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceInt64X(&x.FSliceInt64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceInt64 != nil { // remove the if-true
			x.FptrSliceInt64 = nil
		}
	} else {
		if x.FptrSliceInt64 == nil {
			x.FptrSliceInt64 = new([]int64)
		}
		z.F.DecSliceInt64X(x.FptrSliceInt64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceBoolX(&x.FSliceBool, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceBool != nil { // remove the if-true
			x.FptrSliceBool = nil
		}
	} else {
		if x.FptrSliceBool == nil {
			x.FptrSliceBool = new([]bool)
		}
		z.F.DecSliceBoolX(x.FptrSliceBool, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringIntfX(&x.FMapStringIntf, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringIntf != nil { // remove the if-true
			x.FptrMapStringIntf = nil
		}
	} else {
		if x.FptrMapStringIntf == nil {
			x.FptrMapStringIntf = new(map[string]interface{})
		}
		z.F.DecMapStringIntfX(x.FptrMapStringIntf, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringStringX(&x.FMapStringString, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringString != nil { // remove the if-true
			x.FptrMapStringString = nil
		}
	} else {
		if x.FptrMapStringString == nil {
			x.FptrMapStringString = new(map[string]string)
		}
		z.F.DecMapStringStringX(x.FptrMapStringString, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringBytesX(&x.FMapStringBytes, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringBytes != nil { // remove the if-true
			x.FptrMapStringBytes = nil
		}
	} else {
		if x.FptrMapStringBytes == nil {
			x.FptrMapStringBytes = new(map[string][]uint8)
		}
		z.F.DecMapStringBytesX(x.FptrMapStringBytes, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringUintX(&x.FMapStringUint, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringUint != nil { // remove the if-true
			x.FptrMapStringUint = nil
		}
	} else {
		if x.FptrMapStringUint == nil {
			x.FptrMapStringUint = new(map[string]uint)
		}
		z.F.DecMapStringUintX(x.FptrMapStringUint, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringUint8X(&x.FMapStringUint8, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringUint8 != nil { // remove the if-true
			x.FptrMapStringUint8 = nil
		}
	} else {
		if x.FptrMapStringUint8 == nil {
			x.FptrMapStringUint8 = new(map[string]uint8)
		}
		z.F.DecMapStringUint8X(x.FptrMapStringUint8, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringUint64X(&x.FMapStringUint64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringUint64 != nil { // remove the if-true
			x.FptrMapStringUint64 = nil
		}
	} else {
		if x.FptrMapStringUint64 == nil {
			x.FptrMapStringUint64 = new(map[string]uint64)
		}
		z.F.DecMapStringUint64X(x.FptrMapStringUint64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringIntX(&x.FMapStringInt, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringInt != nil { // remove the if-true
			x.FptrMapStringInt = nil
		}
	} else {
		if x.FptrMapStringInt == nil {
			x.FptrMapStringInt = new(map[string]int)
		}
		z.F.DecMapStringIntX(x.FptrMapStringInt, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringInt64X(&x.FMapStringInt64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringInt64 != nil { // remove the if-true
			x.FptrMapStringInt64 = nil
		}
	} else {
		if x.FptrMapStringInt64 == nil {
			x.FptrMapStringInt64 = new(map[string]int64)
		}
		z.F.DecMapStringInt64X(x.FptrMapStringInt64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringFloat32X(&x.FMapStringFloat32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringFloat32 != nil { // remove the if-true
			x.FptrMapStringFloat32 = nil
		}
	} else {
		if x.FptrMapStringFloat32 == nil {
			x.FptrMapStringFloat32 = new(map[string]float32)
		}
		z.F.DecMapStringFloat32X(x.FptrMapStringFloat32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringFloat64X(&x.FMapStringFloat64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringFloat64 != nil { // remove the if-true
			x.FptrMapStringFloat64 = nil
		}
	} else {
		if x.FptrMapStringFloat64 == nil {
			x.FptrMapStringFloat64 = new(map[string]float64)
		}
		z.F.DecMapStringFloat64X(x.FptrMapStringFloat64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringBoolX(&x.FMapStringBool, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringBool != nil { // remove the if-true
			x.FptrMapStringBool = nil
		}
	} else {
		if x.FptrMapStringBool == nil {
			x.FptrMapStringBool = new(map[string]bool)
		}
		z.F.DecMapStringBoolX(x.FptrMapStringBool, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintIntfX(&x.FMapUintIntf, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintIntf != nil { // remove the if-true
			x.FptrMapUintIntf = nil
		}
	} else {
		if x.FptrMapUintIntf == nil {
			x.FptrMapUintIntf = new(map[uint]interface{})
		}
		z.F.DecMapUintIntfX(x.FptrMapUintIntf, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintStringX(&x.FMapUintString, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintString != nil { // remove the if-true
			x.FptrMapUintString = nil
		}
	} else {
		if x.FptrMapUintString == nil {
			x.FptrMapUintString = new(map[uint]string)
		}
		z.F.DecMapUintStringX(x.FptrMapUintString, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintBytesX(&x.FMapUintBytes, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintBytes != nil { // remove the if-true
			x.FptrMapUintBytes = nil
		}
	} else {
		if x.FptrMapUintBytes == nil {
			x.FptrMapUintBytes = new(map[uint][]uint8)
		}
		z.F.DecMapUintBytesX(x.FptrMapUintBytes, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintUintX(&x.FMapUintUint, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintUint != nil { // remove the if-true
			x.FptrMapUintUint = nil
		}
	} else {
		if x.FptrMapUintUint == nil {
			x.FptrMapUintUint = new(map[uint]uint)
		}
		z.F.DecMapUintUintX(x.FptrMapUintUint, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintUint8X(&x.FMapUintUint8, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintUint8 != nil { // remove the if-true
			x.FptrMapUintUint8 = nil
		}
	} else {
		if x.FptrMapUintUint8 == nil {
			x.FptrMapUintUint8 = new(map[uint]uint8)
		}
		z.F.DecMapUintUint8X(x.FptrMapUintUint8, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintUint64X(&x.FMapUintUint64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintUint64 != nil { // remove the if-true
			x.FptrMapUintUint64 = nil
		}
	} else {
		if x.FptrMapUintUint64 == nil {
			x.FptrMapUintUint64 = new(map[uint]uint64)
		}
		z.F.DecMapUintUint64X(x.FptrMapUintUint64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintIntX(&x.FMapUintInt, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintInt != nil { // remove the if-true
			x.FptrMapUintInt = nil
		}
	} else {
		if x.FptrMapUintInt == nil {
			x.FptrMapUintInt = new(map[uint]int)
		}
		z.F.DecMapUintIntX(x.FptrMapUintInt, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintInt64X(&x.FMapUintInt64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintInt64 != nil { // remove the if-true
			x.FptrMapUintInt64 = nil
		}
	} else {
		if x.FptrMapUintInt64 == nil {
			x.FptrMapUintInt64 = new(map[uint]int64)
		}
		z.F.DecMapUintInt64X(x.FptrMapUintInt64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintFloat32X(&x.FMapUintFloat32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintFloat32 != nil { // remove the if-true
			x.FptrMapUintFloat32 = nil
		}
	} else {
		if x.FptrMapUintFloat32 == nil {
			x.FptrMapUintFloat32 = new(map[uint]float32)
		}
		z.F.DecMapUintFloat32X(x.FptrMapUintFloat32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintFloat64X(&x.FMapUintFloat64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintFloat64 != nil { // remove the if-true
			x.FptrMapUintFloat64 = nil
		}
	} else {
		if x.FptrMapUintFloat64 == nil {
			x.FptrMapUintFloat64 = new(map[uint]float64)
		}
		z.F.DecMapUintFloat64X(x.FptrMapUintFloat64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUintBoolX(&x.FMapUintBool, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUintBool != nil { // remove the if-true
			x.FptrMapUintBool = nil
		}
	} else {
		if x.FptrMapUintBool == nil {
			x.FptrMapUintBool = new(map[uint]bool)
		}
		z.F.DecMapUintBoolX(x.FptrMapUintBool, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8IntfX(&x.FMapUint8Intf, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Intf != nil { // remove the if-true
			x.FptrMapUint8Intf = nil
		}
	} else {
		if x.FptrMapUint8Intf == nil {
			x.FptrMapUint8Intf = new(map[uint8]interface{})
		}
		z.F.DecMapUint8IntfX(x.FptrMapUint8Intf, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8StringX(&x.FMapUint8String, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8String != nil { // remove the if-true
			x.FptrMapUint8String = nil
		}
	} else {
		if x.FptrMapUint8String == nil {
			x.FptrMapUint8String = new(map[uint8]string)
		}
		z.F.DecMapUint8StringX(x.FptrMapUint8String, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8BytesX(&x.FMapUint8Bytes, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Bytes != nil { // remove the if-true
			x.FptrMapUint8Bytes = nil
		}
	} else {
		if x.FptrMapUint8Bytes == nil {
			x.FptrMapUint8Bytes = new(map[uint8][]uint8)
		}
		z.F.DecMapUint8BytesX(x.FptrMapUint8Bytes, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8UintX(&x.FMapUint8Uint, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Uint != nil { // remove the if-true
			x.FptrMapUint8Uint = nil
		}
	} else {
		if x.FptrMapUint8Uint == nil {
			x.FptrMapUint8Uint = new(map[uint8]uint)
		}
		z.F.DecMapUint8UintX(x.FptrMapUint8Uint, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Uint8X(&x.FMapUint8Uint8, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Uint8 != nil { // remove the if-true
			x.FptrMapUint8Uint8 = nil
		}
	} else {
		if x.FptrMapUint8Uint8 == nil {
			x.FptrMapUint8Uint8 = new(map[uint8]uint8)
		}
		z.F.DecMapUint8Uint8X(x.FptrMapUint8Uint8, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Uint64X(&x.FMapUint8Uint64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Uint64 != nil { // remove the if-true
			x.FptrMapUint8Uint64 = nil
		}
	} else {
		if x.FptrMapUint8Uint64 == nil {
			x.FptrMapUint8Uint64 = new(map[uint8]uint64)
		}
		z.F.DecMapUint8Uint64X(x.FptrMapUint8Uint64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8IntX(&x.FMapUint8Int, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Int != nil { // remove the if-true
			x.FptrMapUint8Int = nil
		}
	} else {
		if x.FptrMapUint8Int == nil {
			x.FptrMapUint8Int = new(map[uint8]int)
		}
		z.F.DecMapUint8IntX(x.FptrMapUint8Int, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Int64X(&x.FMapUint8Int64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Int64 != nil { // remove the if-true
			x.FptrMapUint8Int64 = nil
		}
	} else {
		if x.FptrMapUint8Int64 == nil {
			x.FptrMapUint8Int64 = new(map[uint8]int64)
		}
		z.F.DecMapUint8Int64X(x.FptrMapUint8Int64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Float32X(&x.FMapUint8Float32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Float32 != nil { // remove the if-true
			x.FptrMapUint8Float32 = nil
		}
	} else {
		if x.FptrMapUint8Float32 == nil {
			x.FptrMapUint8Float32 = new(map[uint8]float32)
		}
		z.F.DecMapUint8Float32X(x.FptrMapUint8Float32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Float64X(&x.FMapUint8Float64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Float64 != nil { // remove the if-true
			x.FptrMapUint8Float64 = nil
		}
	} else {
		if x.FptrMapUint8Float64 == nil {
			x.FptrMapUint8Float64 = new(map[uint8]float64)
		}
		z.F.DecMapUint8Float64X(x.FptrMapUint8Float64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8BoolX(&x.FMapUint8Bool, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Bool != nil { // remove the if-true
			x.FptrMapUint8Bool = nil
		}
	} else {
		if x.FptrMapUint8Bool == nil {
			x.FptrMapUint8Bool = new(map[uint8]bool)
		}
		z.F.DecMapUint8BoolX(x.FptrMapUint8Bool, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64IntfX(&x.FMapUint64Intf, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Intf != nil { // remove the if-true
			x.FptrMapUint64Intf = nil
		}
	} else {
		if x.FptrMapUint64Intf == nil {
			x.FptrMapUint64Intf = new(map[uint64]interface{})
		}
		z.F.DecMapUint64IntfX(x.FptrMapUint64Intf, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64StringX(&x.FMapUint64String, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64String != nil { // remove the if-true
			x.FptrMapUint64String = nil
		}
	} else {
		if x.FptrMapUint64String == nil {
			x.FptrMapUint64String = new(map[uint64]string)
		}
		z.F.DecMapUint64StringX(x.FptrMapUint64String, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64BytesX(&x.FMapUint64Bytes, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Bytes != nil { // remove the if-true
			x.FptrMapUint64Bytes = nil
		}
	} else {
		if x.FptrMapUint64Bytes == nil {
			x.FptrMapUint64Bytes = new(map[uint64][]uint8)
		}
		z.F.DecMapUint64BytesX(x.FptrMapUint64Bytes, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64UintX(&x.FMapUint64Uint, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Uint != nil { // remove the if-true
			x.FptrMapUint64Uint = nil
		}
	} else {
		if x.FptrMapUint64Uint == nil {
			x.FptrMapUint64Uint = new(map[uint64]uint)
		}
		z.F.DecMapUint64UintX(x.FptrMapUint64Uint, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Uint8X(&x.FMapUint64Uint8, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Uint8 != nil { // remove the if-true
			x.FptrMapUint64Uint8 = nil
		}
	} else {
		if x.FptrMapUint64Uint8 == nil {
			x.FptrMapUint64Uint8 = new(map[uint64]uint8)
		}
		z.F.DecMapUint64Uint8X(x.FptrMapUint64Uint8, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Uint64X(&x.FMapUint64Uint64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Uint64 != nil { // remove the if-true
			x.FptrMapUint64Uint64 = nil
		}
	} else {
		if x.FptrMapUint64Uint64 == nil {
			x.FptrMapUint64Uint64 = new(map[uint64]uint64)
		}
		z.F.DecMapUint64Uint64X(x.FptrMapUint64Uint64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64IntX(&x.FMapUint64Int, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Int != nil { // remove the if-true
			x.FptrMapUint64Int = nil
		}
	} else {
		if x.FptrMapUint64Int == nil {
			x.FptrMapUint64Int = new(map[uint64]int)
		}
		z.F.DecMapUint64IntX(x.FptrMapUint64Int, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Int64X(&x.FMapUint64Int64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Int64 != nil { // remove the if-true
			x.FptrMapUint64Int64 = nil
		}
	} else {
		if x.FptrMapUint64Int64 == nil {
			x.FptrMapUint64Int64 = new(map[uint64]int64)
		}
		z.F.DecMapUint64Int64X(x.FptrMapUint64Int64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Float32X(&x.FMapUint64Float32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Float32 != nil { // remove the if-true
			x.FptrMapUint64Float32 = nil
		}
	} else {
		if x.FptrMapUint64Float32 == nil {
			x.FptrMapUint64Float32 = new(map[uint64]float32)
		}
		z.F.DecMapUint64Float32X(x.FptrMapUint64Float32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Float64X(&x.FMapUint64Float64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Float64 != nil { // remove the if-true
			x.FptrMapUint64Float64 = nil
		}
	} else {
		if x.FptrMapUint64Float64 == nil {
			x.FptrMapUint64Float64 = new(map[uint64]float64)
		}
		z.F.DecMapUint64Float64X(x.FptrMapUint64Float64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64BoolX(&x.FMapUint64Bool, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Bool != nil { // remove the if-true
			x.FptrMapUint64Bool = nil
		}
	} else {
		if x.FptrMapUint64Bool == nil {
			x.FptrMapUint64Bool = new(map[uint64]bool)
		}
		z.F.DecMapUint64BoolX(x.FptrMapUint64Bool, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntIntfX(&x.FMapIntIntf, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntIntf != nil { // remove the if-true
			x.FptrMapIntIntf = nil
		}
	} else {
		if x.FptrMapIntIntf == nil {
			x.FptrMapIntIntf = new(map[int]interface{})
		}
		z.F.DecMapIntIntfX(x.FptrMapIntIntf, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntStringX(&x.FMapIntString, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntString != nil { // remove the if-true
			x.FptrMapIntString = nil
		}
	} else {
		if x.FptrMapIntString == nil {
			x.FptrMapIntString = new(map[int]string)
		}
		z.F.DecMapIntStringX(x.FptrMapIntString, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntBytesX(&x.FMapIntBytes, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntBytes != nil { // remove the if-true
			x.FptrMapIntBytes = nil
		}
	} else {
		if x.FptrMapIntBytes == nil {
			x.FptrMapIntBytes = new(map[int][]uint8)
		}
		z.F.DecMapIntBytesX(x.FptrMapIntBytes, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntUintX(&x.FMapIntUint, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntUint != nil { // remove the if-true
			x.FptrMapIntUint = nil
		}
	} else {
		if x.FptrMapIntUint == nil {
			x.FptrMapIntUint = new(map[int]uint)
		}
		z.F.DecMapIntUintX(x.FptrMapIntUint, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntUint8X(&x.FMapIntUint8, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntUint8 != nil { // remove the if-true
			x.FptrMapIntUint8 = nil
		}
	} else {
		if x.FptrMapIntUint8 == nil {
			x.FptrMapIntUint8 = new(map[int]uint8)
		}
		z.F.DecMapIntUint8X(x.FptrMapIntUint8, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntUint64X(&x.FMapIntUint64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntUint64 != nil { // remove the if-true
			x.FptrMapIntUint64 = nil
		}
	} else {
		if x.FptrMapIntUint64 == nil {
			x.FptrMapIntUint64 = new(map[int]uint64)
		}
		z.F.DecMapIntUint64X(x.FptrMapIntUint64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntIntX(&x.FMapIntInt, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntInt != nil { // remove the if-true
			x.FptrMapIntInt = nil
		}
	} else {
		if x.FptrMapIntInt == nil {
			x.FptrMapIntInt = new(map[int]int)
		}
		z.F.DecMapIntIntX(x.FptrMapIntInt, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntInt64X(&x.FMapIntInt64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntInt64 != nil { // remove the if-true
			x.FptrMapIntInt64 = nil
		}
	} else {
		if x.FptrMapIntInt64 == nil {
			x.FptrMapIntInt64 = new(map[int]int64)
		}
		z.F.DecMapIntInt64X(x.FptrMapIntInt64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntFloat32X(&x.FMapIntFloat32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntFloat32 != nil { // remove the if-true
			x.FptrMapIntFloat32 = nil
		}
	} else {
		if x.FptrMapIntFloat32 == nil {
			x.FptrMapIntFloat32 = new(map[int]float32)
		}
		z.F.DecMapIntFloat32X(x.FptrMapIntFloat32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntFloat64X(&x.FMapIntFloat64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntFloat64 != nil { // remove the if-true
			x.FptrMapIntFloat64 = nil
		}
	} else {
		if x.FptrMapIntFloat64 == nil {
			x.FptrMapIntFloat64 = new(map[int]float64)
		}
		z.F.DecMapIntFloat64X(x.FptrMapIntFloat64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntBoolX(&x.FMapIntBool, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntBool != nil { // remove the if-true
			x.FptrMapIntBool = nil
		}
	} else {
		if x.FptrMapIntBool == nil {
			x.FptrMapIntBool = new(map[int]bool)
		}
		z.F.DecMapIntBoolX(x.FptrMapIntBool, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64IntfX(&x.FMapInt64Intf, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Intf != nil { // remove the if-true
			x.FptrMapInt64Intf = nil
		}
	} else {
		if x.FptrMapInt64Intf == nil {
			x.FptrMapInt64Intf = new(map[int64]interface{})
		}
		z.F.DecMapInt64IntfX(x.FptrMapInt64Intf, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64StringX(&x.FMapInt64String, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64String != nil { // remove the if-true
			x.FptrMapInt64String = nil
		}
	} else {
		if x.FptrMapInt64String == nil {
			x.FptrMapInt64String = new(map[int64]string)
		}
		z.F.DecMapInt64StringX(x.FptrMapInt64String, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64BytesX(&x.FMapInt64Bytes, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Bytes != nil { // remove the if-true
			x.FptrMapInt64Bytes = nil
		}
	} else {
		if x.FptrMapInt64Bytes == nil {
			x.FptrMapInt64Bytes = new(map[int64][]uint8)
		}
		z.F.DecMapInt64BytesX(x.FptrMapInt64Bytes, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64UintX(&x.FMapInt64Uint, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Uint != nil { // remove the if-true
			x.FptrMapInt64Uint = nil
		}
	} else {
		if x.FptrMapInt64Uint == nil {
			x.FptrMapInt64Uint = new(map[int64]uint)
		}
		z.F.DecMapInt64UintX(x.FptrMapInt64Uint, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64Uint8X(&x.FMapInt64Uint8, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Uint8 != nil { // remove the if-true
			x.FptrMapInt64Uint8 = nil
		}
	} else {
		if x.FptrMapInt64Uint8 == nil {
			x.FptrMapInt64Uint8 = new(map[int64]uint8)
		}
		z.F.DecMapInt64Uint8X(x.FptrMapInt64Uint8, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64Uint64X(&x.FMapInt64Uint64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Uint64 != nil { // remove the if-true
			x.FptrMapInt64Uint64 = nil
		}
	} else {
		if x.FptrMapInt64Uint64 == nil {
			x.FptrMapInt64Uint64 = new(map[int64]uint64)
		}
		z.F.DecMapInt64Uint64X(x.FptrMapInt64Uint64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64IntX(&x.FMapInt64Int, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Int != nil { // remove the if-true
			x.FptrMapInt64Int = nil
		}
	} else {
		if x.FptrMapInt64Int == nil {
			x.FptrMapInt64Int = new(map[int64]int)
		}
		z.F.DecMapInt64IntX(x.FptrMapInt64Int, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64Int64X(&x.FMapInt64Int64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Int64 != nil { // remove the if-true
			x.FptrMapInt64Int64 = nil
		}
	} else {
		if x.FptrMapInt64Int64 == nil {
			x.FptrMapInt64Int64 = new(map[int64]int64)
		}
		z.F.DecMapInt64Int64X(x.FptrMapInt64Int64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64Float32X(&x.FMapInt64Float32, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Float32 != nil { // remove the if-true
			x.FptrMapInt64Float32 = nil
		}
	} else {
		if x.FptrMapInt64Float32 == nil {
			x.FptrMapInt64Float32 = new(map[int64]float32)
		}
		z.F.DecMapInt64Float32X(x.FptrMapInt64Float32, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64Float64X(&x.FMapInt64Float64, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Float64 != nil { // remove the if-true
			x.FptrMapInt64Float64 = nil
		}
	} else {
		if x.FptrMapInt64Float64 == nil {
			x.FptrMapInt64Float64 = new(map[int64]float64)
		}
		z.F.DecMapInt64Float64X(x.FptrMapInt64Float64, d)
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt64BoolX(&x.FMapInt64Bool, d)
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = z.DecCheckBreak()
	}
	if yyb381 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt64Bool != nil { // remove the if-true
			x.FptrMapInt64Bool = nil
		}
	} else {
		if x.FptrMapInt64Bool == nil {
			x.FptrMapInt64Bool = new(map[int64]bool)
		}
		z.F.DecMapInt64BoolX(x.FptrMapInt64Bool, d)
	}
	for {
		yyj381++
		if yyhl381 {
			yyb381 = yyj381 > l
		} else {
			yyb381 = z.DecCheckBreak()
		}
		if yyb381 {
			break
		}
		z.DecReadArrayElem()
		z.DecStructFieldNotFound(yyj381-1, "")
	}
}

func (x testMammoth2Binary) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if z.EncBinary() {
		z.EncBinaryMarshal(x)
	} else {
		r.EncodeUint(uint64(x))
	}
}

func (x *testMammoth2Binary) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	if z.DecBinary() {
		z.DecBinaryUnmarshal(x)
	} else {
		*x = (testMammoth2Binary)(r.DecodeUint64())
	}
}

func (x testMammoth2Text) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if !z.EncBinary() {
		z.EncTextMarshal(x)
	} else {
		r.EncodeUint(uint64(x))
	}
}

func (x *testMammoth2Text) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	if !z.DecBinary() {
		z.DecTextUnmarshal(x)
	} else {
		*x = (testMammoth2Text)(r.DecodeUint64())
	}
}

func (x testMammoth2Json) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if !z.EncBinary() && z.IsJSONHandle() {
		z.EncJSONMarshal(x)
	} else {
		r.EncodeUint(uint64(x))
	}
}

func (x *testMammoth2Json) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	if !z.DecBinary() && z.IsJSONHandle() {
		z.DecJSONUnmarshal(x)
	} else {
		*x = (testMammoth2Json)(r.DecodeUint64())
	}
}

func (x *testMammoth2Basic) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		h.enctestMammoth2Basic((*testMammoth2Basic)(x), e)
	}
}

func (x *testMammoth2Basic) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	h.dectestMammoth2Basic((*testMammoth2Basic)(x), d)
}

func (x *TestMammoth2Wrapper) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yysep2 := !z.EncBinary()
		yy2arr2 := z.EncBasicHandle().StructToArray
		_, _ = yysep2, yy2arr2
		const yyr2 bool = false // struct tag has 'toArray'
		if yyr2 || yy2arr2 {
			z.EncWriteArrayStart(8)
			z.EncWriteArrayElem()
			yy11 := &x.V
			yy11.CodecEncodeSelf(e)
			z.EncWriteArrayElem()
			x.T.CodecEncodeSelf(e)
			z.EncWriteArrayElem()
			x.B.CodecEncodeSelf(e)
			z.EncWriteArrayElem()
			x.J.CodecEncodeSelf(e)
			z.EncWriteArrayElem()
			yy16 := &x.C
			yy16.CodecEncodeSelf(e)
			z.EncWriteArrayElem()
			if x.M == nil {
				r.EncodeNil()
			} else {
				h.encMaptestMammoth2BasicTestMammoth2((map[testMammoth2Basic]TestMammoth2)(x.M), e)
			} // end block: if x.M map == nil
			z.EncWriteArrayElem()
			if x.L == nil {
				r.EncodeNil()
			} else {
				h.encSliceTestMammoth2(([]TestMammoth2)(x.L), e)
			} // end block: if x.L slice == nil
			z.EncWriteArrayElem()
			yy20 := &x.A
			h.encArray4int64((*[4]int64)(yy20), e)
			z.EncWriteArrayEnd()
		} else {
			z.EncWriteMapStart(8)
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"V\"")
			} else {
				r.EncodeString(`V`)
			}
			z.EncWriteMapElemValue()
			yy22 := &x.V
			yy22.CodecEncodeSelf(e)
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"T\"")
			} else {
				r.EncodeString(`T`)
			}
			z.EncWriteMapElemValue()
			x.T.CodecEncodeSelf(e)
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"B\"")
			} else {
				r.EncodeString(`B`)
			}
			z.EncWriteMapElemValue()
			x.B.CodecEncodeSelf(e)
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"J\"")
			} else {
				r.EncodeString(`J`)
			}
			z.EncWriteMapElemValue()
			x.J.CodecEncodeSelf(e)
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"C\"")
			} else {
				r.EncodeString(`C`)
			}
			z.EncWriteMapElemValue()
			yy27 := &x.C
			yy27.CodecEncodeSelf(e)
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"M\"")
			} else {
				r.EncodeString(`M`)
			}
			z.EncWriteMapElemValue()
			if x.M == nil {
				r.EncodeNil()
			} else {
				h.encMaptestMammoth2BasicTestMammoth2((map[testMammoth2Basic]TestMammoth2)(x.M), e)
			} // end block: if x.M map == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"L\"")
			} else {
				r.EncodeString(`L`)
			}
			z.EncWriteMapElemValue()
			if x.L == nil {
				r.EncodeNil()
			} else {
				h.encSliceTestMammoth2(([]TestMammoth2)(x.L), e)
			} // end block: if x.L slice == nil
			z.EncWriteMapElemKey()
			if z.IsJSONHandle() {
				z.WriteStr("\"A\"")
			} else {
				r.EncodeString(`A`)
			}
			z.EncWriteMapElemValue()
			yy31 := &x.A
			h.encArray4int64((*[4]int64)(yy31), e)
			z.EncWriteMapEnd()
		}
	}
}

func (x *TestMammoth2Wrapper) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	yyct2 := r.ContainerType()
	if yyct2 == codecSelferValueTypeNil19781 {
		*(x) = TestMammoth2Wrapper{}
	} else if yyct2 == codecSelferValueTypeMap19781 {
		yyl2 := z.DecReadMapStart()
		if yyl2 == 0 {
		} else {
			x.codecDecodeSelfFromMap(yyl2, d)
		}
		z.DecReadMapEnd()
	} else if yyct2 == codecSelferValueTypeArray19781 {
		yyl2 := z.DecReadArrayStart()
		if yyl2 != 0 {
			x.codecDecodeSelfFromArray(yyl2, d)
		}
		z.DecReadArrayEnd()
	} else {
		panic(errCodecSelferOnlyMapOrArrayEncodeToStruct19781)
	}
}

func (x *TestMammoth2Wrapper) codecDecodeSelfFromMap(l int, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if z.DecCheckBreak() {
				break
			}
		}
		z.DecReadMapElemKey()
		yys3 := z.StringView(r.DecodeStringAsBytes())
		z.DecReadMapElemValue()
		switch yys3 {
		case "V":
			x.V.CodecDecodeSelf(d)
		case "T":
			x.T.CodecDecodeSelf(d)
		case "B":
			x.B.CodecDecodeSelf(d)
		case "J":
			x.J.CodecDecodeSelf(d)
		case "C":
			x.C.CodecDecodeSelf(d)
		case "M":
			h.decMaptestMammoth2BasicTestMammoth2((*map[testMammoth2Basic]TestMammoth2)(&x.M), d)
		case "L":
			h.decSliceTestMammoth2((*[]TestMammoth2)(&x.L), d)
		case "A":
			h.decArray4int64((*[4]int64)(&x.A), d)
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
}

func (x *TestMammoth2Wrapper) codecDecodeSelfFromArray(l int, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj15 int
	var yyb15 bool
	var yyhl15 bool = l >= 0
	yyj15++
	if yyhl15 {
		yyb15 = yyj15 > l
	} else {
		yyb15 = z.DecCheckBreak()
	}
	if yyb15 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.V.CodecDecodeSelf(d)
	yyj15++
	if yyhl15 {
		yyb15 = yyj15 > l
	} else {
		yyb15 = z.DecCheckBreak()
	}
	if yyb15 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.T.CodecDecodeSelf(d)
	yyj15++
	if yyhl15 {
		yyb15 = yyj15 > l
	} else {
		yyb15 = z.DecCheckBreak()
	}
	if yyb15 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.B.CodecDecodeSelf(d)
	yyj15++
	if yyhl15 {
		yyb15 = yyj15 > l
	} else {
		yyb15 = z.DecCheckBreak()
	}
	if yyb15 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.J.CodecDecodeSelf(d)
	yyj15++
	if yyhl15 {
		yyb15 = yyj15 > l
	} else {
		yyb15 = z.DecCheckBreak()
	}
	if yyb15 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.C.CodecDecodeSelf(d)
	yyj15++
	if yyhl15 {
		yyb15 = yyj15 > l
	} else {
		yyb15 = z.DecCheckBreak()
	}
	if yyb15 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	h.decMaptestMammoth2BasicTestMammoth2((*map[testMammoth2Basic]TestMammoth2)(&x.M), d)
	yyj15++
	if yyhl15 {
		yyb15 = yyj15 > l
	} else {
		yyb15 = z.DecCheckBreak()
	}
	if yyb15 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	h.decSliceTestMammoth2((*[]TestMammoth2)(&x.L), d)
	yyj15++
	if yyhl15 {
		yyb15 = yyj15 > l
	} else {
		yyb15 = z.DecCheckBreak()
	}
	if yyb15 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	h.decArray4int64((*[4]int64)(&x.A), d)
	for {
		yyj15++
		if yyhl15 {
			yyb15 = yyj15 > l
		} else {
			yyb15 = z.DecCheckBreak()
		}
		if yyb15 {
			break
		}
		z.DecReadArrayElem()
		z.DecStructFieldNotFound(yyj15-1, "")
	}
}

func (x codecSelfer19781) enctestMammoth2Basic(v *testMammoth2Basic, e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if v == nil {
		r.EncodeNil()
		return
	}
	z.EncWriteArrayStart(len(v))
	for _, yyv1 := range v {
		z.EncWriteArrayElem()
		r.EncodeUint(uint64(yyv1))
	}
	z.EncWriteArrayEnd()
}

func (x codecSelfer19781) dectestMammoth2Basic(v *testMammoth2Basic, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := v
	yyh1, yyl1 := z.DecSliceHelperStart()
	if yyl1 == 0 {
	} else {
		yyhl1 := yyl1 > 0
		var yyrl1 int
		_ = yyrl1
		var yyj1 int
		for yyj1 = 0; (yyhl1 && yyj1 < yyl1) || !(yyhl1 || z.DecCheckBreak()); yyj1++ { // bounds-check-elimination
			yyh1.ElemContainerState(yyj1)
			var yydb1 bool
			if yyj1 >= len(yyv1) {
				z.DecArrayCannotExpand(len(v), yyj1+1)
				yydb1 = true
			}
			if yydb1 {
				z.DecSwallow()
			} else {
				yyv1[yyj1] = (uint64)(r.DecodeUint64())
			}
		}
	}
	yyh1.End()
}

func (x codecSelfer19781) encMaptestMammoth2BasicTestMammoth2(v map[testMammoth2Basic]TestMammoth2, e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if v == nil {
		r.EncodeNil()
		return
	}
	z.EncWriteMapStart(len(v))
	for yyk1, yyv1 := range v {
		z.EncWriteMapElemKey()
		yy2 := &yyk1
		yy2.CodecEncodeSelf(e)
		z.EncWriteMapElemValue()
		yy4 := &yyv1
		yy4.CodecEncodeSelf(e)
	}
	z.EncWriteMapEnd()
}

func (x codecSelfer19781) decMaptestMammoth2BasicTestMammoth2(v *map[testMammoth2Basic]TestMammoth2, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyl1 := z.DecReadMapStart()
	if yyl1 == codecSelferDecContainerLenNil19781 {
		*v = nil
	} else {
		if yyv1 == nil {
			yyrl1 := z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 1872)
			yyv1 = make(map[testMammoth2Basic]TestMammoth2, yyrl1)
			*v = yyv1
		}
		var yymk1 testMammoth2Basic
		var yymv1 TestMammoth2
		var yymg1, yymdn1 bool
		if z.DecBasicHandle().MapValueReset {
			yymg1 = true
		}
		if yyl1 != 0 {
			yyhl1 := yyl1 > 0
			for yyj1 := 0; (yyhl1 && yyj1 < yyl1) || !(yyhl1 || z.DecCheckBreak()); yyj1++ {
				z.DecReadMapElemKey()
				yymk1.CodecDecodeSelf(d)
				if yymg1 {
					yymv1 = yyv1[yymk1]
				} else {
					yymv1 = TestMammoth2{}
				}
				z.DecReadMapElemValue()
				yymdn1 = false
				yymv1.CodecDecodeSelf(d)
				if yymdn1 {
					if z.DecBasicHandle().DeleteOnNilMapValue {
						delete(yyv1, yymk1)
					} else {
						yyv1[yymk1] = TestMammoth2{}
					}
				} else if yyv1 != nil {
					yyv1[yymk1] = yymv1
				}
			}
		} // else len==0: TODO: Should we clear map entries?
		z.DecReadMapEnd()
	}
}

func (x codecSelfer19781) encSliceTestMammoth2(v []TestMammoth2, e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if v == nil {
		r.EncodeNil()
		return
	}
	z.EncWriteArrayStart(len(v))
	for _, yyv1 := range v {
		z.EncWriteArrayElem()
		yy2 := &yyv1
		yy2.CodecEncodeSelf(e)
	}
	z.EncWriteArrayEnd()
}

func (x codecSelfer19781) decSliceTestMammoth2(v *[]TestMammoth2, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyh1, yyl1 := z.DecSliceHelperStart()
	var yyc1 bool
	_ = yyc1
	if yyh1.IsNil {
		if yyv1 != nil {
			yyv1 = nil
			yyc1 = true
		}
	} else if yyl1 == 0 {
		if yyv1 == nil {
			yyv1 = []TestMammoth2{}
			yyc1 = true
		} else if len(yyv1) != 0 {
			yyv1 = yyv1[:0]
			yyc1 = true
		}
	} else {
		yyhl1 := yyl1 > 0
		var yyrl1 int
		_ = yyrl1
		if yyhl1 {
			if yyl1 > cap(yyv1) {
				yyrl1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 1840)
				if yyrl1 <= cap(yyv1) {
					yyv1 = yyv1[:yyrl1]
				} else {
					yyv1 = make([]TestMammoth2, yyrl1)
				}
				yyc1 = true
			} else if yyl1 != len(yyv1) {
				yyv1 = yyv1[:yyl1]
				yyc1 = true
			}
		}
		var yyj1 int
		for yyj1 = 0; (yyhl1 && yyj1 < yyl1) || !(yyhl1 || z.DecCheckBreak()); yyj1++ { // bounds-check-elimination
			if yyj1 == 0 && yyv1 == nil {
				if yyhl1 {
					yyrl1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 1840)
				} else {
					yyrl1 = 8
				}
				yyv1 = make([]TestMammoth2, yyrl1)
				yyc1 = true
			}
			yyh1.ElemContainerState(yyj1)
			var yydb1 bool
			if yyj1 >= len(yyv1) {
				yyv1 = append(yyv1, TestMammoth2{})
				yyc1 = true
			}
			if yydb1 {
				z.DecSwallow()
			} else {
				yyv1[yyj1].CodecDecodeSelf(d)
			}
		}
		if yyj1 < len(yyv1) {
			yyv1 = yyv1[:yyj1]
			yyc1 = true
		} else if yyj1 == 0 && yyv1 == nil {
			yyv1 = make([]TestMammoth2, 0)
			yyc1 = true
		}
	}
	yyh1.End()
	if yyc1 {
		*v = yyv1
	}
}

func (x codecSelfer19781) encArray4int64(v *[4]int64, e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelperEncoder(e)
	_, _, _ = h, z, r
	if v == nil {
		r.EncodeNil()
		return
	}
	z.EncWriteArrayStart(len(v))
	for _, yyv1 := range v {
		z.EncWriteArrayElem()
		r.EncodeInt(int64(yyv1))
	}
	z.EncWriteArrayEnd()
}

func (x codecSelfer19781) decArray4int64(v *[4]int64, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := v
	yyh1, yyl1 := z.DecSliceHelperStart()
	if yyl1 == 0 {
	} else {
		yyhl1 := yyl1 > 0
		var yyrl1 int
		_ = yyrl1
		var yyj1 int
		for yyj1 = 0; (yyhl1 && yyj1 < yyl1) || !(yyhl1 || z.DecCheckBreak()); yyj1++ { // bounds-check-elimination
			yyh1.ElemContainerState(yyj1)
			var yydb1 bool
			if yyj1 >= len(yyv1) {
				z.DecArrayCannotExpand(len(v), yyj1+1)
				yydb1 = true
			}
			if yydb1 {
				z.DecSwallow()
			} else {
				yyv1[yyj1] = (int64)(r.DecodeInt64())
			}
		}
	}
	yyh1.End()
}
