//+build use_codec
//+build !easyjson_nounsafe
//+build !appengine

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

package benchmark

import (
	"errors"
	"fmt"
	"reflect"
	"runtime"
	"unsafe"

	codec1978 "github.com/ugorji/go/codec"
)

const (
	// ----- content types ----
	codecSelferC_UTF89225 = 1
	codecSelferC_RAW9225  = 0
	// ----- value types used ----
	codecSelferValueTypeArray9225 = 10
	codecSelferValueTypeMap9225   = 9
	// ----- containerStateValues ----
	codecSelfer_containerMapKey9225    = 2
	codecSelfer_containerMapValue9225  = 3
	codecSelfer_containerMapEnd9225    = 4
	codecSelfer_containerArrayElem9225 = 6
	codecSelfer_containerArrayEnd9225  = 7
)

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

type codecSelferUnsafeString9225 struct {
	Data uintptr
	Len  int
}

type codecSelfer9225 struct{}

func init() {
	if codec1978.GenVersion != 5 {
		_, file, _, _ := runtime.Caller(0)
		err := fmt.Errorf("codecgen version mismatch: current: %v, need %v. Re-generate file: %v",
			5, codec1978.GenVersion, file)
		panic(err)
	}
	if false { // reference the types, but skip this branch at build/run time
		var v0 unsafe.Pointer
		_ = v0
	}
}

func (x *SearchMetadata) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [9]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(9)
			} else {
				yynn2 = 9
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym4 := z.EncBinary()
				_ = yym4
				if false {
				} else {
					r.EncodeFloat64(float64(x.CompletedIn))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("completed_in"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym5 := z.EncBinary()
				_ = yym5
				if false {
				} else {
					r.EncodeFloat64(float64(x.CompletedIn))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym7 := z.EncBinary()
				_ = yym7
				if false {
				} else {
					r.EncodeInt(int64(x.Count))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("count"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym8 := z.EncBinary()
				_ = yym8
				if false {
				} else {
					r.EncodeInt(int64(x.Count))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym10 := z.EncBinary()
				_ = yym10
				if false {
				} else {
					r.EncodeInt(int64(x.MaxID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("max_id"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym11 := z.EncBinary()
				_ = yym11
				if false {
				} else {
					r.EncodeInt(int64(x.MaxID))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym13 := z.EncBinary()
				_ = yym13
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.MaxIDStr))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("max_id_str"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym14 := z.EncBinary()
				_ = yym14
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.MaxIDStr))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym16 := z.EncBinary()
				_ = yym16
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.NextResults))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("next_results"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym17 := z.EncBinary()
				_ = yym17
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.NextResults))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym19 := z.EncBinary()
				_ = yym19
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Query))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("query"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym20 := z.EncBinary()
				_ = yym20
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Query))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym22 := z.EncBinary()
				_ = yym22
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.RefreshURL))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("refresh_url"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym23 := z.EncBinary()
				_ = yym23
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.RefreshURL))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym25 := z.EncBinary()
				_ = yym25
				if false {
				} else {
					r.EncodeInt(int64(x.SinceID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("since_id"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym26 := z.EncBinary()
				_ = yym26
				if false {
				} else {
					r.EncodeInt(int64(x.SinceID))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym28 := z.EncBinary()
				_ = yym28
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.SinceIDStr))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("since_id_str"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym29 := z.EncBinary()
				_ = yym29
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.SinceIDStr))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *SearchMetadata) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *SearchMetadata) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "completed_in":
			if r.TryDecodeAsNil() {
				x.CompletedIn = 0
			} else {
				yyv4 := &x.CompletedIn
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					*((*float64)(yyv4)) = float64(r.DecodeFloat(false))
				}
			}
		case "count":
			if r.TryDecodeAsNil() {
				x.Count = 0
			} else {
				yyv6 := &x.Count
				yym7 := z.DecBinary()
				_ = yym7
				if false {
				} else {
					*((*int)(yyv6)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "max_id":
			if r.TryDecodeAsNil() {
				x.MaxID = 0
			} else {
				yyv8 := &x.MaxID
				yym9 := z.DecBinary()
				_ = yym9
				if false {
				} else {
					*((*int)(yyv8)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "max_id_str":
			if r.TryDecodeAsNil() {
				x.MaxIDStr = ""
			} else {
				yyv10 := &x.MaxIDStr
				yym11 := z.DecBinary()
				_ = yym11
				if false {
				} else {
					*((*string)(yyv10)) = r.DecodeString()
				}
			}
		case "next_results":
			if r.TryDecodeAsNil() {
				x.NextResults = ""
			} else {
				yyv12 := &x.NextResults
				yym13 := z.DecBinary()
				_ = yym13
				if false {
				} else {
					*((*string)(yyv12)) = r.DecodeString()
				}
			}
		case "query":
			if r.TryDecodeAsNil() {
				x.Query = ""
			} else {
				yyv14 := &x.Query
				yym15 := z.DecBinary()
				_ = yym15
				if false {
				} else {
					*((*string)(yyv14)) = r.DecodeString()
				}
			}
		case "refresh_url":
			if r.TryDecodeAsNil() {
				x.RefreshURL = ""
			} else {
				yyv16 := &x.RefreshURL
				yym17 := z.DecBinary()
				_ = yym17
				if false {
				} else {
					*((*string)(yyv16)) = r.DecodeString()
				}
			}
		case "since_id":
			if r.TryDecodeAsNil() {
				x.SinceID = 0
			} else {
				yyv18 := &x.SinceID
				yym19 := z.DecBinary()
				_ = yym19
				if false {
				} else {
					*((*int)(yyv18)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "since_id_str":
			if r.TryDecodeAsNil() {
				x.SinceIDStr = ""
			} else {
				yyv20 := &x.SinceIDStr
				yym21 := z.DecBinary()
				_ = yym21
				if false {
				} else {
					*((*string)(yyv20)) = r.DecodeString()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *SearchMetadata) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj22 int
	var yyb22 bool
	var yyhl22 bool = l >= 0
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.CompletedIn = 0
	} else {
		yyv23 := &x.CompletedIn
		yym24 := z.DecBinary()
		_ = yym24
		if false {
		} else {
			*((*float64)(yyv23)) = float64(r.DecodeFloat(false))
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Count = 0
	} else {
		yyv25 := &x.Count
		yym26 := z.DecBinary()
		_ = yym26
		if false {
		} else {
			*((*int)(yyv25)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.MaxID = 0
	} else {
		yyv27 := &x.MaxID
		yym28 := z.DecBinary()
		_ = yym28
		if false {
		} else {
			*((*int)(yyv27)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.MaxIDStr = ""
	} else {
		yyv29 := &x.MaxIDStr
		yym30 := z.DecBinary()
		_ = yym30
		if false {
		} else {
			*((*string)(yyv29)) = r.DecodeString()
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.NextResults = ""
	} else {
		yyv31 := &x.NextResults
		yym32 := z.DecBinary()
		_ = yym32
		if false {
		} else {
			*((*string)(yyv31)) = r.DecodeString()
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Query = ""
	} else {
		yyv33 := &x.Query
		yym34 := z.DecBinary()
		_ = yym34
		if false {
		} else {
			*((*string)(yyv33)) = r.DecodeString()
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.RefreshURL = ""
	} else {
		yyv35 := &x.RefreshURL
		yym36 := z.DecBinary()
		_ = yym36
		if false {
		} else {
			*((*string)(yyv35)) = r.DecodeString()
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.SinceID = 0
	} else {
		yyv37 := &x.SinceID
		yym38 := z.DecBinary()
		_ = yym38
		if false {
		} else {
			*((*int)(yyv37)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj22++
	if yyhl22 {
		yyb22 = yyj22 > l
	} else {
		yyb22 = r.CheckBreak()
	}
	if yyb22 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.SinceIDStr = ""
	} else {
		yyv39 := &x.SinceIDStr
		yym40 := z.DecBinary()
		_ = yym40
		if false {
		} else {
			*((*string)(yyv39)) = r.DecodeString()
		}
	}
	for {
		yyj22++
		if yyhl22 {
			yyb22 = yyj22 > l
		} else {
			yyb22 = r.CheckBreak()
		}
		if yyb22 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj22-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *Hashtag) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [2]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(2)
			} else {
				yynn2 = 2
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Indices == nil {
					r.EncodeNil()
				} else {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						z.F.EncSliceIntV(x.Indices, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("indices"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Indices == nil {
					r.EncodeNil()
				} else {
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						z.F.EncSliceIntV(x.Indices, false, e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym7 := z.EncBinary()
				_ = yym7
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Text))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("text"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym8 := z.EncBinary()
				_ = yym8
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Text))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *Hashtag) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *Hashtag) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "indices":
			if r.TryDecodeAsNil() {
				x.Indices = nil
			} else {
				yyv4 := &x.Indices
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					z.F.DecSliceIntX(yyv4, false, d)
				}
			}
		case "text":
			if r.TryDecodeAsNil() {
				x.Text = ""
			} else {
				yyv6 := &x.Text
				yym7 := z.DecBinary()
				_ = yym7
				if false {
				} else {
					*((*string)(yyv6)) = r.DecodeString()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *Hashtag) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj8 int
	var yyb8 bool
	var yyhl8 bool = l >= 0
	yyj8++
	if yyhl8 {
		yyb8 = yyj8 > l
	} else {
		yyb8 = r.CheckBreak()
	}
	if yyb8 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Indices = nil
	} else {
		yyv9 := &x.Indices
		yym10 := z.DecBinary()
		_ = yym10
		if false {
		} else {
			z.F.DecSliceIntX(yyv9, false, d)
		}
	}
	yyj8++
	if yyhl8 {
		yyb8 = yyj8 > l
	} else {
		yyb8 = r.CheckBreak()
	}
	if yyb8 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Text = ""
	} else {
		yyv11 := &x.Text
		yym12 := z.DecBinary()
		_ = yym12
		if false {
		} else {
			*((*string)(yyv11)) = r.DecodeString()
		}
	}
	for {
		yyj8++
		if yyhl8 {
			yyb8 = yyj8 > l
		} else {
			yyb8 = r.CheckBreak()
		}
		if yyb8 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj8-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *Entities) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [3]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(3)
			} else {
				yynn2 = 3
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Hashtags == nil {
					r.EncodeNil()
				} else {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						h.encSliceHashtag(([]Hashtag)(x.Hashtags), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("hashtags"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Hashtags == nil {
					r.EncodeNil()
				} else {
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						h.encSliceHashtag(([]Hashtag)(x.Hashtags), e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Urls == nil {
					r.EncodeNil()
				} else {
					yym7 := z.EncBinary()
					_ = yym7
					if false {
					} else {
						h.encSlicePtrtostring(([]*string)(x.Urls), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("urls"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Urls == nil {
					r.EncodeNil()
				} else {
					yym8 := z.EncBinary()
					_ = yym8
					if false {
					} else {
						h.encSlicePtrtostring(([]*string)(x.Urls), e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.UserMentions == nil {
					r.EncodeNil()
				} else {
					yym10 := z.EncBinary()
					_ = yym10
					if false {
					} else {
						h.encSlicePtrtostring(([]*string)(x.UserMentions), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("user_mentions"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.UserMentions == nil {
					r.EncodeNil()
				} else {
					yym11 := z.EncBinary()
					_ = yym11
					if false {
					} else {
						h.encSlicePtrtostring(([]*string)(x.UserMentions), e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *Entities) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *Entities) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "hashtags":
			if r.TryDecodeAsNil() {
				x.Hashtags = nil
			} else {
				yyv4 := &x.Hashtags
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					h.decSliceHashtag((*[]Hashtag)(yyv4), d)
				}
			}
		case "urls":
			if r.TryDecodeAsNil() {
				x.Urls = nil
			} else {
				yyv6 := &x.Urls
				yym7 := z.DecBinary()
				_ = yym7
				if false {
				} else {
					h.decSlicePtrtostring((*[]*string)(yyv6), d)
				}
			}
		case "user_mentions":
			if r.TryDecodeAsNil() {
				x.UserMentions = nil
			} else {
				yyv8 := &x.UserMentions
				yym9 := z.DecBinary()
				_ = yym9
				if false {
				} else {
					h.decSlicePtrtostring((*[]*string)(yyv8), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *Entities) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj10 int
	var yyb10 bool
	var yyhl10 bool = l >= 0
	yyj10++
	if yyhl10 {
		yyb10 = yyj10 > l
	} else {
		yyb10 = r.CheckBreak()
	}
	if yyb10 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Hashtags = nil
	} else {
		yyv11 := &x.Hashtags
		yym12 := z.DecBinary()
		_ = yym12
		if false {
		} else {
			h.decSliceHashtag((*[]Hashtag)(yyv11), d)
		}
	}
	yyj10++
	if yyhl10 {
		yyb10 = yyj10 > l
	} else {
		yyb10 = r.CheckBreak()
	}
	if yyb10 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Urls = nil
	} else {
		yyv13 := &x.Urls
		yym14 := z.DecBinary()
		_ = yym14
		if false {
		} else {
			h.decSlicePtrtostring((*[]*string)(yyv13), d)
		}
	}
	yyj10++
	if yyhl10 {
		yyb10 = yyj10 > l
	} else {
		yyb10 = r.CheckBreak()
	}
	if yyb10 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.UserMentions = nil
	} else {
		yyv15 := &x.UserMentions
		yym16 := z.DecBinary()
		_ = yym16
		if false {
		} else {
			h.decSlicePtrtostring((*[]*string)(yyv15), d)
		}
	}
	for {
		yyj10++
		if yyhl10 {
			yyb10 = yyj10 > l
		} else {
			yyb10 = r.CheckBreak()
		}
		if yyb10 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj10-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *UserEntityDescription) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [1]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(1)
			} else {
				yynn2 = 1
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Urls == nil {
					r.EncodeNil()
				} else {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						h.encSlicePtrtostring(([]*string)(x.Urls), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("urls"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Urls == nil {
					r.EncodeNil()
				} else {
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						h.encSlicePtrtostring(([]*string)(x.Urls), e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *UserEntityDescription) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *UserEntityDescription) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "urls":
			if r.TryDecodeAsNil() {
				x.Urls = nil
			} else {
				yyv4 := &x.Urls
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					h.decSlicePtrtostring((*[]*string)(yyv4), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *UserEntityDescription) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj6 int
	var yyb6 bool
	var yyhl6 bool = l >= 0
	yyj6++
	if yyhl6 {
		yyb6 = yyj6 > l
	} else {
		yyb6 = r.CheckBreak()
	}
	if yyb6 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Urls = nil
	} else {
		yyv7 := &x.Urls
		yym8 := z.DecBinary()
		_ = yym8
		if false {
		} else {
			h.decSlicePtrtostring((*[]*string)(yyv7), d)
		}
	}
	for {
		yyj6++
		if yyhl6 {
			yyb6 = yyj6 > l
		} else {
			yyb6 = r.CheckBreak()
		}
		if yyb6 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj6-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *URL) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [3]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(3)
			} else {
				yynn2 = 3
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.ExpandedURL == nil {
					r.EncodeNil()
				} else {
					yy4 := *x.ExpandedURL
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy4))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("expanded_url"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.ExpandedURL == nil {
					r.EncodeNil()
				} else {
					yy6 := *x.ExpandedURL
					yym7 := z.EncBinary()
					_ = yym7
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy6))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Indices == nil {
					r.EncodeNil()
				} else {
					yym9 := z.EncBinary()
					_ = yym9
					if false {
					} else {
						z.F.EncSliceIntV(x.Indices, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("indices"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Indices == nil {
					r.EncodeNil()
				} else {
					yym10 := z.EncBinary()
					_ = yym10
					if false {
					} else {
						z.F.EncSliceIntV(x.Indices, false, e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym12 := z.EncBinary()
				_ = yym12
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.URL))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("url"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym13 := z.EncBinary()
				_ = yym13
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.URL))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *URL) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *URL) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "expanded_url":
			if r.TryDecodeAsNil() {
				if x.ExpandedURL != nil {
					x.ExpandedURL = nil
				}
			} else {
				if x.ExpandedURL == nil {
					x.ExpandedURL = new(string)
				}
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					*((*string)(x.ExpandedURL)) = r.DecodeString()
				}
			}
		case "indices":
			if r.TryDecodeAsNil() {
				x.Indices = nil
			} else {
				yyv6 := &x.Indices
				yym7 := z.DecBinary()
				_ = yym7
				if false {
				} else {
					z.F.DecSliceIntX(yyv6, false, d)
				}
			}
		case "url":
			if r.TryDecodeAsNil() {
				x.URL = ""
			} else {
				yyv8 := &x.URL
				yym9 := z.DecBinary()
				_ = yym9
				if false {
				} else {
					*((*string)(yyv8)) = r.DecodeString()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *URL) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj10 int
	var yyb10 bool
	var yyhl10 bool = l >= 0
	yyj10++
	if yyhl10 {
		yyb10 = yyj10 > l
	} else {
		yyb10 = r.CheckBreak()
	}
	if yyb10 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.ExpandedURL != nil {
			x.ExpandedURL = nil
		}
	} else {
		if x.ExpandedURL == nil {
			x.ExpandedURL = new(string)
		}
		yym12 := z.DecBinary()
		_ = yym12
		if false {
		} else {
			*((*string)(x.ExpandedURL)) = r.DecodeString()
		}
	}
	yyj10++
	if yyhl10 {
		yyb10 = yyj10 > l
	} else {
		yyb10 = r.CheckBreak()
	}
	if yyb10 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Indices = nil
	} else {
		yyv13 := &x.Indices
		yym14 := z.DecBinary()
		_ = yym14
		if false {
		} else {
			z.F.DecSliceIntX(yyv13, false, d)
		}
	}
	yyj10++
	if yyhl10 {
		yyb10 = yyj10 > l
	} else {
		yyb10 = r.CheckBreak()
	}
	if yyb10 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.URL = ""
	} else {
		yyv15 := &x.URL
		yym16 := z.DecBinary()
		_ = yym16
		if false {
		} else {
			*((*string)(yyv15)) = r.DecodeString()
		}
	}
	for {
		yyj10++
		if yyhl10 {
			yyb10 = yyj10 > l
		} else {
			yyb10 = r.CheckBreak()
		}
		if yyb10 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj10-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *UserEntityURL) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [1]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(1)
			} else {
				yynn2 = 1
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Urls == nil {
					r.EncodeNil()
				} else {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						h.encSliceURL(([]URL)(x.Urls), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("urls"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Urls == nil {
					r.EncodeNil()
				} else {
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						h.encSliceURL(([]URL)(x.Urls), e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *UserEntityURL) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *UserEntityURL) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "urls":
			if r.TryDecodeAsNil() {
				x.Urls = nil
			} else {
				yyv4 := &x.Urls
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					h.decSliceURL((*[]URL)(yyv4), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *UserEntityURL) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj6 int
	var yyb6 bool
	var yyhl6 bool = l >= 0
	yyj6++
	if yyhl6 {
		yyb6 = yyj6 > l
	} else {
		yyb6 = r.CheckBreak()
	}
	if yyb6 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Urls = nil
	} else {
		yyv7 := &x.Urls
		yym8 := z.DecBinary()
		_ = yym8
		if false {
		} else {
			h.decSliceURL((*[]URL)(yyv7), d)
		}
	}
	for {
		yyj6++
		if yyhl6 {
			yyb6 = yyj6 > l
		} else {
			yyb6 = r.CheckBreak()
		}
		if yyb6 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj6-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *UserEntities) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [2]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(2)
			} else {
				yynn2 = 2
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yy4 := &x.Description
				yy4.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("description"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yy6 := &x.Description
				yy6.CodecEncodeSelf(e)
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yy9 := &x.URL
				yy9.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("url"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yy11 := &x.URL
				yy11.CodecEncodeSelf(e)
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *UserEntities) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *UserEntities) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "description":
			if r.TryDecodeAsNil() {
				x.Description = UserEntityDescription{}
			} else {
				yyv4 := &x.Description
				yyv4.CodecDecodeSelf(d)
			}
		case "url":
			if r.TryDecodeAsNil() {
				x.URL = UserEntityURL{}
			} else {
				yyv5 := &x.URL
				yyv5.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *UserEntities) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj6 int
	var yyb6 bool
	var yyhl6 bool = l >= 0
	yyj6++
	if yyhl6 {
		yyb6 = yyj6 > l
	} else {
		yyb6 = r.CheckBreak()
	}
	if yyb6 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Description = UserEntityDescription{}
	} else {
		yyv7 := &x.Description
		yyv7.CodecDecodeSelf(d)
	}
	yyj6++
	if yyhl6 {
		yyb6 = yyj6 > l
	} else {
		yyb6 = r.CheckBreak()
	}
	if yyb6 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.URL = UserEntityURL{}
	} else {
		yyv8 := &x.URL
		yyv8.CodecDecodeSelf(d)
	}
	for {
		yyj6++
		if yyhl6 {
			yyb6 = yyj6 > l
		} else {
			yyb6 = r.CheckBreak()
		}
		if yyb6 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj6-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *User) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [39]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(39)
			} else {
				yynn2 = 39
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym4 := z.EncBinary()
				_ = yym4
				if false {
				} else {
					r.EncodeBool(bool(x.ContributorsEnabled))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("contributors_enabled"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym5 := z.EncBinary()
				_ = yym5
				if false {
				} else {
					r.EncodeBool(bool(x.ContributorsEnabled))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym7 := z.EncBinary()
				_ = yym7
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.CreatedAt))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("created_at"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym8 := z.EncBinary()
				_ = yym8
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.CreatedAt))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym10 := z.EncBinary()
				_ = yym10
				if false {
				} else {
					r.EncodeBool(bool(x.DefaultProfile))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("default_profile"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym11 := z.EncBinary()
				_ = yym11
				if false {
				} else {
					r.EncodeBool(bool(x.DefaultProfile))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym13 := z.EncBinary()
				_ = yym13
				if false {
				} else {
					r.EncodeBool(bool(x.DefaultProfileImage))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("default_profile_image"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym14 := z.EncBinary()
				_ = yym14
				if false {
				} else {
					r.EncodeBool(bool(x.DefaultProfileImage))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym16 := z.EncBinary()
				_ = yym16
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Description))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("description"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym17 := z.EncBinary()
				_ = yym17
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Description))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yy19 := &x.Entities
				yy19.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("entities"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yy21 := &x.Entities
				yy21.CodecEncodeSelf(e)
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym24 := z.EncBinary()
				_ = yym24
				if false {
				} else {
					r.EncodeInt(int64(x.FavouritesCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("favourites_count"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym25 := z.EncBinary()
				_ = yym25
				if false {
				} else {
					r.EncodeInt(int64(x.FavouritesCount))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.FollowRequestSent == nil {
					r.EncodeNil()
				} else {
					yy27 := *x.FollowRequestSent
					yym28 := z.EncBinary()
					_ = yym28
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy27))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("follow_request_sent"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.FollowRequestSent == nil {
					r.EncodeNil()
				} else {
					yy29 := *x.FollowRequestSent
					yym30 := z.EncBinary()
					_ = yym30
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy29))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym32 := z.EncBinary()
				_ = yym32
				if false {
				} else {
					r.EncodeInt(int64(x.FollowersCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("followers_count"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym33 := z.EncBinary()
				_ = yym33
				if false {
				} else {
					r.EncodeInt(int64(x.FollowersCount))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Following == nil {
					r.EncodeNil()
				} else {
					yy35 := *x.Following
					yym36 := z.EncBinary()
					_ = yym36
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy35))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("following"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Following == nil {
					r.EncodeNil()
				} else {
					yy37 := *x.Following
					yym38 := z.EncBinary()
					_ = yym38
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy37))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym40 := z.EncBinary()
				_ = yym40
				if false {
				} else {
					r.EncodeInt(int64(x.FriendsCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("friends_count"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym41 := z.EncBinary()
				_ = yym41
				if false {
				} else {
					r.EncodeInt(int64(x.FriendsCount))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym43 := z.EncBinary()
				_ = yym43
				if false {
				} else {
					r.EncodeBool(bool(x.GeoEnabled))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("geo_enabled"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym44 := z.EncBinary()
				_ = yym44
				if false {
				} else {
					r.EncodeBool(bool(x.GeoEnabled))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym46 := z.EncBinary()
				_ = yym46
				if false {
				} else {
					r.EncodeInt(int64(x.ID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("id"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym47 := z.EncBinary()
				_ = yym47
				if false {
				} else {
					r.EncodeInt(int64(x.ID))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym49 := z.EncBinary()
				_ = yym49
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.IDStr))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("id_str"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym50 := z.EncBinary()
				_ = yym50
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.IDStr))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym52 := z.EncBinary()
				_ = yym52
				if false {
				} else {
					r.EncodeBool(bool(x.IsTranslator))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("is_translator"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym53 := z.EncBinary()
				_ = yym53
				if false {
				} else {
					r.EncodeBool(bool(x.IsTranslator))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym55 := z.EncBinary()
				_ = yym55
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Lang))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("lang"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym56 := z.EncBinary()
				_ = yym56
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Lang))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym58 := z.EncBinary()
				_ = yym58
				if false {
				} else {
					r.EncodeInt(int64(x.ListedCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("listed_count"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym59 := z.EncBinary()
				_ = yym59
				if false {
				} else {
					r.EncodeInt(int64(x.ListedCount))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym61 := z.EncBinary()
				_ = yym61
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Location))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("location"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym62 := z.EncBinary()
				_ = yym62
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Location))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym64 := z.EncBinary()
				_ = yym64
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym65 := z.EncBinary()
				_ = yym65
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Name))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Notifications == nil {
					r.EncodeNil()
				} else {
					yy67 := *x.Notifications
					yym68 := z.EncBinary()
					_ = yym68
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy67))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("notifications"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Notifications == nil {
					r.EncodeNil()
				} else {
					yy69 := *x.Notifications
					yym70 := z.EncBinary()
					_ = yym70
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy69))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym72 := z.EncBinary()
				_ = yym72
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileBackgroundColor))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_background_color"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym73 := z.EncBinary()
				_ = yym73
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileBackgroundColor))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym75 := z.EncBinary()
				_ = yym75
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileBackgroundImageURL))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_background_image_url"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym76 := z.EncBinary()
				_ = yym76
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileBackgroundImageURL))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym78 := z.EncBinary()
				_ = yym78
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileBackgroundImageURLHTTPS))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_background_image_url_https"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym79 := z.EncBinary()
				_ = yym79
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileBackgroundImageURLHTTPS))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym81 := z.EncBinary()
				_ = yym81
				if false {
				} else {
					r.EncodeBool(bool(x.ProfileBackgroundTile))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_background_tile"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym82 := z.EncBinary()
				_ = yym82
				if false {
				} else {
					r.EncodeBool(bool(x.ProfileBackgroundTile))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym84 := z.EncBinary()
				_ = yym84
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileImageURL))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_image_url"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym85 := z.EncBinary()
				_ = yym85
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileImageURL))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym87 := z.EncBinary()
				_ = yym87
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileImageURLHTTPS))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_image_url_https"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym88 := z.EncBinary()
				_ = yym88
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileImageURLHTTPS))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym90 := z.EncBinary()
				_ = yym90
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileLinkColor))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_link_color"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym91 := z.EncBinary()
				_ = yym91
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileLinkColor))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym93 := z.EncBinary()
				_ = yym93
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileSidebarBorderColor))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_sidebar_border_color"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym94 := z.EncBinary()
				_ = yym94
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileSidebarBorderColor))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym96 := z.EncBinary()
				_ = yym96
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileSidebarFillColor))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_sidebar_fill_color"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym97 := z.EncBinary()
				_ = yym97
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileSidebarFillColor))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym99 := z.EncBinary()
				_ = yym99
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileTextColor))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_text_color"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym100 := z.EncBinary()
				_ = yym100
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ProfileTextColor))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym102 := z.EncBinary()
				_ = yym102
				if false {
				} else {
					r.EncodeBool(bool(x.ProfileUseBackgroundImage))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("profile_use_background_image"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym103 := z.EncBinary()
				_ = yym103
				if false {
				} else {
					r.EncodeBool(bool(x.ProfileUseBackgroundImage))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym105 := z.EncBinary()
				_ = yym105
				if false {
				} else {
					r.EncodeBool(bool(x.Protected))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("protected"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym106 := z.EncBinary()
				_ = yym106
				if false {
				} else {
					r.EncodeBool(bool(x.Protected))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym108 := z.EncBinary()
				_ = yym108
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ScreenName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("screen_name"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym109 := z.EncBinary()
				_ = yym109
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ScreenName))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym111 := z.EncBinary()
				_ = yym111
				if false {
				} else {
					r.EncodeBool(bool(x.ShowAllInlineMedia))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("show_all_inline_media"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym112 := z.EncBinary()
				_ = yym112
				if false {
				} else {
					r.EncodeBool(bool(x.ShowAllInlineMedia))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym114 := z.EncBinary()
				_ = yym114
				if false {
				} else {
					r.EncodeInt(int64(x.StatusesCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("statuses_count"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym115 := z.EncBinary()
				_ = yym115
				if false {
				} else {
					r.EncodeInt(int64(x.StatusesCount))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym117 := z.EncBinary()
				_ = yym117
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.TimeZone))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("time_zone"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym118 := z.EncBinary()
				_ = yym118
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.TimeZone))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.URL == nil {
					r.EncodeNil()
				} else {
					yy120 := *x.URL
					yym121 := z.EncBinary()
					_ = yym121
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy120))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("url"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.URL == nil {
					r.EncodeNil()
				} else {
					yy122 := *x.URL
					yym123 := z.EncBinary()
					_ = yym123
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy122))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym125 := z.EncBinary()
				_ = yym125
				if false {
				} else {
					r.EncodeInt(int64(x.UtcOffset))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("utc_offset"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym126 := z.EncBinary()
				_ = yym126
				if false {
				} else {
					r.EncodeInt(int64(x.UtcOffset))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym128 := z.EncBinary()
				_ = yym128
				if false {
				} else {
					r.EncodeBool(bool(x.Verified))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("verified"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym129 := z.EncBinary()
				_ = yym129
				if false {
				} else {
					r.EncodeBool(bool(x.Verified))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *User) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *User) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "contributors_enabled":
			if r.TryDecodeAsNil() {
				x.ContributorsEnabled = false
			} else {
				yyv4 := &x.ContributorsEnabled
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					*((*bool)(yyv4)) = r.DecodeBool()
				}
			}
		case "created_at":
			if r.TryDecodeAsNil() {
				x.CreatedAt = ""
			} else {
				yyv6 := &x.CreatedAt
				yym7 := z.DecBinary()
				_ = yym7
				if false {
				} else {
					*((*string)(yyv6)) = r.DecodeString()
				}
			}
		case "default_profile":
			if r.TryDecodeAsNil() {
				x.DefaultProfile = false
			} else {
				yyv8 := &x.DefaultProfile
				yym9 := z.DecBinary()
				_ = yym9
				if false {
				} else {
					*((*bool)(yyv8)) = r.DecodeBool()
				}
			}
		case "default_profile_image":
			if r.TryDecodeAsNil() {
				x.DefaultProfileImage = false
			} else {
				yyv10 := &x.DefaultProfileImage
				yym11 := z.DecBinary()
				_ = yym11
				if false {
				} else {
					*((*bool)(yyv10)) = r.DecodeBool()
				}
			}
		case "description":
			if r.TryDecodeAsNil() {
				x.Description = ""
			} else {
				yyv12 := &x.Description
				yym13 := z.DecBinary()
				_ = yym13
				if false {
				} else {
					*((*string)(yyv12)) = r.DecodeString()
				}
			}
		case "entities":
			if r.TryDecodeAsNil() {
				x.Entities = UserEntities{}
			} else {
				yyv14 := &x.Entities
				yyv14.CodecDecodeSelf(d)
			}
		case "favourites_count":
			if r.TryDecodeAsNil() {
				x.FavouritesCount = 0
			} else {
				yyv15 := &x.FavouritesCount
				yym16 := z.DecBinary()
				_ = yym16
				if false {
				} else {
					*((*int)(yyv15)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "follow_request_sent":
			if r.TryDecodeAsNil() {
				if x.FollowRequestSent != nil {
					x.FollowRequestSent = nil
				}
			} else {
				if x.FollowRequestSent == nil {
					x.FollowRequestSent = new(string)
				}
				yym18 := z.DecBinary()
				_ = yym18
				if false {
				} else {
					*((*string)(x.FollowRequestSent)) = r.DecodeString()
				}
			}
		case "followers_count":
			if r.TryDecodeAsNil() {
				x.FollowersCount = 0
			} else {
				yyv19 := &x.FollowersCount
				yym20 := z.DecBinary()
				_ = yym20
				if false {
				} else {
					*((*int)(yyv19)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "following":
			if r.TryDecodeAsNil() {
				if x.Following != nil {
					x.Following = nil
				}
			} else {
				if x.Following == nil {
					x.Following = new(string)
				}
				yym22 := z.DecBinary()
				_ = yym22
				if false {
				} else {
					*((*string)(x.Following)) = r.DecodeString()
				}
			}
		case "friends_count":
			if r.TryDecodeAsNil() {
				x.FriendsCount = 0
			} else {
				yyv23 := &x.FriendsCount
				yym24 := z.DecBinary()
				_ = yym24
				if false {
				} else {
					*((*int)(yyv23)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "geo_enabled":
			if r.TryDecodeAsNil() {
				x.GeoEnabled = false
			} else {
				yyv25 := &x.GeoEnabled
				yym26 := z.DecBinary()
				_ = yym26
				if false {
				} else {
					*((*bool)(yyv25)) = r.DecodeBool()
				}
			}
		case "id":
			if r.TryDecodeAsNil() {
				x.ID = 0
			} else {
				yyv27 := &x.ID
				yym28 := z.DecBinary()
				_ = yym28
				if false {
				} else {
					*((*int)(yyv27)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "id_str":
			if r.TryDecodeAsNil() {
				x.IDStr = ""
			} else {
				yyv29 := &x.IDStr
				yym30 := z.DecBinary()
				_ = yym30
				if false {
				} else {
					*((*string)(yyv29)) = r.DecodeString()
				}
			}
		case "is_translator":
			if r.TryDecodeAsNil() {
				x.IsTranslator = false
			} else {
				yyv31 := &x.IsTranslator
				yym32 := z.DecBinary()
				_ = yym32
				if false {
				} else {
					*((*bool)(yyv31)) = r.DecodeBool()
				}
			}
		case "lang":
			if r.TryDecodeAsNil() {
				x.Lang = ""
			} else {
				yyv33 := &x.Lang
				yym34 := z.DecBinary()
				_ = yym34
				if false {
				} else {
					*((*string)(yyv33)) = r.DecodeString()
				}
			}
		case "listed_count":
			if r.TryDecodeAsNil() {
				x.ListedCount = 0
			} else {
				yyv35 := &x.ListedCount
				yym36 := z.DecBinary()
				_ = yym36
				if false {
				} else {
					*((*int)(yyv35)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "location":
			if r.TryDecodeAsNil() {
				x.Location = ""
			} else {
				yyv37 := &x.Location
				yym38 := z.DecBinary()
				_ = yym38
				if false {
				} else {
					*((*string)(yyv37)) = r.DecodeString()
				}
			}
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				yyv39 := &x.Name
				yym40 := z.DecBinary()
				_ = yym40
				if false {
				} else {
					*((*string)(yyv39)) = r.DecodeString()
				}
			}
		case "notifications":
			if r.TryDecodeAsNil() {
				if x.Notifications != nil {
					x.Notifications = nil
				}
			} else {
				if x.Notifications == nil {
					x.Notifications = new(string)
				}
				yym42 := z.DecBinary()
				_ = yym42
				if false {
				} else {
					*((*string)(x.Notifications)) = r.DecodeString()
				}
			}
		case "profile_background_color":
			if r.TryDecodeAsNil() {
				x.ProfileBackgroundColor = ""
			} else {
				yyv43 := &x.ProfileBackgroundColor
				yym44 := z.DecBinary()
				_ = yym44
				if false {
				} else {
					*((*string)(yyv43)) = r.DecodeString()
				}
			}
		case "profile_background_image_url":
			if r.TryDecodeAsNil() {
				x.ProfileBackgroundImageURL = ""
			} else {
				yyv45 := &x.ProfileBackgroundImageURL
				yym46 := z.DecBinary()
				_ = yym46
				if false {
				} else {
					*((*string)(yyv45)) = r.DecodeString()
				}
			}
		case "profile_background_image_url_https":
			if r.TryDecodeAsNil() {
				x.ProfileBackgroundImageURLHTTPS = ""
			} else {
				yyv47 := &x.ProfileBackgroundImageURLHTTPS
				yym48 := z.DecBinary()
				_ = yym48
				if false {
				} else {
					*((*string)(yyv47)) = r.DecodeString()
				}
			}
		case "profile_background_tile":
			if r.TryDecodeAsNil() {
				x.ProfileBackgroundTile = false
			} else {
				yyv49 := &x.ProfileBackgroundTile
				yym50 := z.DecBinary()
				_ = yym50
				if false {
				} else {
					*((*bool)(yyv49)) = r.DecodeBool()
				}
			}
		case "profile_image_url":
			if r.TryDecodeAsNil() {
				x.ProfileImageURL = ""
			} else {
				yyv51 := &x.ProfileImageURL
				yym52 := z.DecBinary()
				_ = yym52
				if false {
				} else {
					*((*string)(yyv51)) = r.DecodeString()
				}
			}
		case "profile_image_url_https":
			if r.TryDecodeAsNil() {
				x.ProfileImageURLHTTPS = ""
			} else {
				yyv53 := &x.ProfileImageURLHTTPS
				yym54 := z.DecBinary()
				_ = yym54
				if false {
				} else {
					*((*string)(yyv53)) = r.DecodeString()
				}
			}
		case "profile_link_color":
			if r.TryDecodeAsNil() {
				x.ProfileLinkColor = ""
			} else {
				yyv55 := &x.ProfileLinkColor
				yym56 := z.DecBinary()
				_ = yym56
				if false {
				} else {
					*((*string)(yyv55)) = r.DecodeString()
				}
			}
		case "profile_sidebar_border_color":
			if r.TryDecodeAsNil() {
				x.ProfileSidebarBorderColor = ""
			} else {
				yyv57 := &x.ProfileSidebarBorderColor
				yym58 := z.DecBinary()
				_ = yym58
				if false {
				} else {
					*((*string)(yyv57)) = r.DecodeString()
				}
			}
		case "profile_sidebar_fill_color":
			if r.TryDecodeAsNil() {
				x.ProfileSidebarFillColor = ""
			} else {
				yyv59 := &x.ProfileSidebarFillColor
				yym60 := z.DecBinary()
				_ = yym60
				if false {
				} else {
					*((*string)(yyv59)) = r.DecodeString()
				}
			}
		case "profile_text_color":
			if r.TryDecodeAsNil() {
				x.ProfileTextColor = ""
			} else {
				yyv61 := &x.ProfileTextColor
				yym62 := z.DecBinary()
				_ = yym62
				if false {
				} else {
					*((*string)(yyv61)) = r.DecodeString()
				}
			}
		case "profile_use_background_image":
			if r.TryDecodeAsNil() {
				x.ProfileUseBackgroundImage = false
			} else {
				yyv63 := &x.ProfileUseBackgroundImage
				yym64 := z.DecBinary()
				_ = yym64
				if false {
				} else {
					*((*bool)(yyv63)) = r.DecodeBool()
				}
			}
		case "protected":
			if r.TryDecodeAsNil() {
				x.Protected = false
			} else {
				yyv65 := &x.Protected
				yym66 := z.DecBinary()
				_ = yym66
				if false {
				} else {
					*((*bool)(yyv65)) = r.DecodeBool()
				}
			}
		case "screen_name":
			if r.TryDecodeAsNil() {
				x.ScreenName = ""
			} else {
				yyv67 := &x.ScreenName
				yym68 := z.DecBinary()
				_ = yym68
				if false {
				} else {
					*((*string)(yyv67)) = r.DecodeString()
				}
			}
		case "show_all_inline_media":
			if r.TryDecodeAsNil() {
				x.ShowAllInlineMedia = false
			} else {
				yyv69 := &x.ShowAllInlineMedia
				yym70 := z.DecBinary()
				_ = yym70
				if false {
				} else {
					*((*bool)(yyv69)) = r.DecodeBool()
				}
			}
		case "statuses_count":
			if r.TryDecodeAsNil() {
				x.StatusesCount = 0
			} else {
				yyv71 := &x.StatusesCount
				yym72 := z.DecBinary()
				_ = yym72
				if false {
				} else {
					*((*int)(yyv71)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "time_zone":
			if r.TryDecodeAsNil() {
				x.TimeZone = ""
			} else {
				yyv73 := &x.TimeZone
				yym74 := z.DecBinary()
				_ = yym74
				if false {
				} else {
					*((*string)(yyv73)) = r.DecodeString()
				}
			}
		case "url":
			if r.TryDecodeAsNil() {
				if x.URL != nil {
					x.URL = nil
				}
			} else {
				if x.URL == nil {
					x.URL = new(string)
				}
				yym76 := z.DecBinary()
				_ = yym76
				if false {
				} else {
					*((*string)(x.URL)) = r.DecodeString()
				}
			}
		case "utc_offset":
			if r.TryDecodeAsNil() {
				x.UtcOffset = 0
			} else {
				yyv77 := &x.UtcOffset
				yym78 := z.DecBinary()
				_ = yym78
				if false {
				} else {
					*((*int)(yyv77)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "verified":
			if r.TryDecodeAsNil() {
				x.Verified = false
			} else {
				yyv79 := &x.Verified
				yym80 := z.DecBinary()
				_ = yym80
				if false {
				} else {
					*((*bool)(yyv79)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *User) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj81 int
	var yyb81 bool
	var yyhl81 bool = l >= 0
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ContributorsEnabled = false
	} else {
		yyv82 := &x.ContributorsEnabled
		yym83 := z.DecBinary()
		_ = yym83
		if false {
		} else {
			*((*bool)(yyv82)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.CreatedAt = ""
	} else {
		yyv84 := &x.CreatedAt
		yym85 := z.DecBinary()
		_ = yym85
		if false {
		} else {
			*((*string)(yyv84)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.DefaultProfile = false
	} else {
		yyv86 := &x.DefaultProfile
		yym87 := z.DecBinary()
		_ = yym87
		if false {
		} else {
			*((*bool)(yyv86)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.DefaultProfileImage = false
	} else {
		yyv88 := &x.DefaultProfileImage
		yym89 := z.DecBinary()
		_ = yym89
		if false {
		} else {
			*((*bool)(yyv88)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Description = ""
	} else {
		yyv90 := &x.Description
		yym91 := z.DecBinary()
		_ = yym91
		if false {
		} else {
			*((*string)(yyv90)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Entities = UserEntities{}
	} else {
		yyv92 := &x.Entities
		yyv92.CodecDecodeSelf(d)
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.FavouritesCount = 0
	} else {
		yyv93 := &x.FavouritesCount
		yym94 := z.DecBinary()
		_ = yym94
		if false {
		} else {
			*((*int)(yyv93)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.FollowRequestSent != nil {
			x.FollowRequestSent = nil
		}
	} else {
		if x.FollowRequestSent == nil {
			x.FollowRequestSent = new(string)
		}
		yym96 := z.DecBinary()
		_ = yym96
		if false {
		} else {
			*((*string)(x.FollowRequestSent)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.FollowersCount = 0
	} else {
		yyv97 := &x.FollowersCount
		yym98 := z.DecBinary()
		_ = yym98
		if false {
		} else {
			*((*int)(yyv97)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.Following != nil {
			x.Following = nil
		}
	} else {
		if x.Following == nil {
			x.Following = new(string)
		}
		yym100 := z.DecBinary()
		_ = yym100
		if false {
		} else {
			*((*string)(x.Following)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.FriendsCount = 0
	} else {
		yyv101 := &x.FriendsCount
		yym102 := z.DecBinary()
		_ = yym102
		if false {
		} else {
			*((*int)(yyv101)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.GeoEnabled = false
	} else {
		yyv103 := &x.GeoEnabled
		yym104 := z.DecBinary()
		_ = yym104
		if false {
		} else {
			*((*bool)(yyv103)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ID = 0
	} else {
		yyv105 := &x.ID
		yym106 := z.DecBinary()
		_ = yym106
		if false {
		} else {
			*((*int)(yyv105)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.IDStr = ""
	} else {
		yyv107 := &x.IDStr
		yym108 := z.DecBinary()
		_ = yym108
		if false {
		} else {
			*((*string)(yyv107)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.IsTranslator = false
	} else {
		yyv109 := &x.IsTranslator
		yym110 := z.DecBinary()
		_ = yym110
		if false {
		} else {
			*((*bool)(yyv109)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Lang = ""
	} else {
		yyv111 := &x.Lang
		yym112 := z.DecBinary()
		_ = yym112
		if false {
		} else {
			*((*string)(yyv111)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ListedCount = 0
	} else {
		yyv113 := &x.ListedCount
		yym114 := z.DecBinary()
		_ = yym114
		if false {
		} else {
			*((*int)(yyv113)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Location = ""
	} else {
		yyv115 := &x.Location
		yym116 := z.DecBinary()
		_ = yym116
		if false {
		} else {
			*((*string)(yyv115)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		yyv117 := &x.Name
		yym118 := z.DecBinary()
		_ = yym118
		if false {
		} else {
			*((*string)(yyv117)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.Notifications != nil {
			x.Notifications = nil
		}
	} else {
		if x.Notifications == nil {
			x.Notifications = new(string)
		}
		yym120 := z.DecBinary()
		_ = yym120
		if false {
		} else {
			*((*string)(x.Notifications)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileBackgroundColor = ""
	} else {
		yyv121 := &x.ProfileBackgroundColor
		yym122 := z.DecBinary()
		_ = yym122
		if false {
		} else {
			*((*string)(yyv121)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileBackgroundImageURL = ""
	} else {
		yyv123 := &x.ProfileBackgroundImageURL
		yym124 := z.DecBinary()
		_ = yym124
		if false {
		} else {
			*((*string)(yyv123)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileBackgroundImageURLHTTPS = ""
	} else {
		yyv125 := &x.ProfileBackgroundImageURLHTTPS
		yym126 := z.DecBinary()
		_ = yym126
		if false {
		} else {
			*((*string)(yyv125)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileBackgroundTile = false
	} else {
		yyv127 := &x.ProfileBackgroundTile
		yym128 := z.DecBinary()
		_ = yym128
		if false {
		} else {
			*((*bool)(yyv127)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileImageURL = ""
	} else {
		yyv129 := &x.ProfileImageURL
		yym130 := z.DecBinary()
		_ = yym130
		if false {
		} else {
			*((*string)(yyv129)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileImageURLHTTPS = ""
	} else {
		yyv131 := &x.ProfileImageURLHTTPS
		yym132 := z.DecBinary()
		_ = yym132
		if false {
		} else {
			*((*string)(yyv131)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileLinkColor = ""
	} else {
		yyv133 := &x.ProfileLinkColor
		yym134 := z.DecBinary()
		_ = yym134
		if false {
		} else {
			*((*string)(yyv133)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileSidebarBorderColor = ""
	} else {
		yyv135 := &x.ProfileSidebarBorderColor
		yym136 := z.DecBinary()
		_ = yym136
		if false {
		} else {
			*((*string)(yyv135)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileSidebarFillColor = ""
	} else {
		yyv137 := &x.ProfileSidebarFillColor
		yym138 := z.DecBinary()
		_ = yym138
		if false {
		} else {
			*((*string)(yyv137)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileTextColor = ""
	} else {
		yyv139 := &x.ProfileTextColor
		yym140 := z.DecBinary()
		_ = yym140
		if false {
		} else {
			*((*string)(yyv139)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ProfileUseBackgroundImage = false
	} else {
		yyv141 := &x.ProfileUseBackgroundImage
		yym142 := z.DecBinary()
		_ = yym142
		if false {
		} else {
			*((*bool)(yyv141)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Protected = false
	} else {
		yyv143 := &x.Protected
		yym144 := z.DecBinary()
		_ = yym144
		if false {
		} else {
			*((*bool)(yyv143)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ScreenName = ""
	} else {
		yyv145 := &x.ScreenName
		yym146 := z.DecBinary()
		_ = yym146
		if false {
		} else {
			*((*string)(yyv145)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ShowAllInlineMedia = false
	} else {
		yyv147 := &x.ShowAllInlineMedia
		yym148 := z.DecBinary()
		_ = yym148
		if false {
		} else {
			*((*bool)(yyv147)) = r.DecodeBool()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.StatusesCount = 0
	} else {
		yyv149 := &x.StatusesCount
		yym150 := z.DecBinary()
		_ = yym150
		if false {
		} else {
			*((*int)(yyv149)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.TimeZone = ""
	} else {
		yyv151 := &x.TimeZone
		yym152 := z.DecBinary()
		_ = yym152
		if false {
		} else {
			*((*string)(yyv151)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.URL != nil {
			x.URL = nil
		}
	} else {
		if x.URL == nil {
			x.URL = new(string)
		}
		yym154 := z.DecBinary()
		_ = yym154
		if false {
		} else {
			*((*string)(x.URL)) = r.DecodeString()
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.UtcOffset = 0
	} else {
		yyv155 := &x.UtcOffset
		yym156 := z.DecBinary()
		_ = yym156
		if false {
		} else {
			*((*int)(yyv155)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj81++
	if yyhl81 {
		yyb81 = yyj81 > l
	} else {
		yyb81 = r.CheckBreak()
	}
	if yyb81 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Verified = false
	} else {
		yyv157 := &x.Verified
		yym158 := z.DecBinary()
		_ = yym158
		if false {
		} else {
			*((*bool)(yyv157)) = r.DecodeBool()
		}
	}
	for {
		yyj81++
		if yyhl81 {
			yyb81 = yyj81 > l
		} else {
			yyb81 = r.CheckBreak()
		}
		if yyb81 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj81-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *StatusMetadata) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [2]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(2)
			} else {
				yynn2 = 2
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym4 := z.EncBinary()
				_ = yym4
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.IsoLanguageCode))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("iso_language_code"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym5 := z.EncBinary()
				_ = yym5
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.IsoLanguageCode))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym7 := z.EncBinary()
				_ = yym7
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ResultType))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("result_type"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym8 := z.EncBinary()
				_ = yym8
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.ResultType))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *StatusMetadata) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *StatusMetadata) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "iso_language_code":
			if r.TryDecodeAsNil() {
				x.IsoLanguageCode = ""
			} else {
				yyv4 := &x.IsoLanguageCode
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					*((*string)(yyv4)) = r.DecodeString()
				}
			}
		case "result_type":
			if r.TryDecodeAsNil() {
				x.ResultType = ""
			} else {
				yyv6 := &x.ResultType
				yym7 := z.DecBinary()
				_ = yym7
				if false {
				} else {
					*((*string)(yyv6)) = r.DecodeString()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *StatusMetadata) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj8 int
	var yyb8 bool
	var yyhl8 bool = l >= 0
	yyj8++
	if yyhl8 {
		yyb8 = yyj8 > l
	} else {
		yyb8 = r.CheckBreak()
	}
	if yyb8 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.IsoLanguageCode = ""
	} else {
		yyv9 := &x.IsoLanguageCode
		yym10 := z.DecBinary()
		_ = yym10
		if false {
		} else {
			*((*string)(yyv9)) = r.DecodeString()
		}
	}
	yyj8++
	if yyhl8 {
		yyb8 = yyj8 > l
	} else {
		yyb8 = r.CheckBreak()
	}
	if yyb8 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ResultType = ""
	} else {
		yyv11 := &x.ResultType
		yym12 := z.DecBinary()
		_ = yym12
		if false {
		} else {
			*((*string)(yyv11)) = r.DecodeString()
		}
	}
	for {
		yyj8++
		if yyhl8 {
			yyb8 = yyj8 > l
		} else {
			yyb8 = r.CheckBreak()
		}
		if yyb8 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj8-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *Status) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [21]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(21)
			} else {
				yynn2 = 21
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Contributors == nil {
					r.EncodeNil()
				} else {
					yy4 := *x.Contributors
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy4))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("contributors"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Contributors == nil {
					r.EncodeNil()
				} else {
					yy6 := *x.Contributors
					yym7 := z.EncBinary()
					_ = yym7
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy6))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Coordinates == nil {
					r.EncodeNil()
				} else {
					yy9 := *x.Coordinates
					yym10 := z.EncBinary()
					_ = yym10
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy9))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("coordinates"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Coordinates == nil {
					r.EncodeNil()
				} else {
					yy11 := *x.Coordinates
					yym12 := z.EncBinary()
					_ = yym12
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy11))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym14 := z.EncBinary()
				_ = yym14
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.CreatedAt))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("created_at"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym15 := z.EncBinary()
				_ = yym15
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.CreatedAt))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yy17 := &x.Entities
				yy17.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("entities"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yy19 := &x.Entities
				yy19.CodecEncodeSelf(e)
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym22 := z.EncBinary()
				_ = yym22
				if false {
				} else {
					r.EncodeBool(bool(x.Favorited))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("favorited"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym23 := z.EncBinary()
				_ = yym23
				if false {
				} else {
					r.EncodeBool(bool(x.Favorited))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Geo == nil {
					r.EncodeNil()
				} else {
					yy25 := *x.Geo
					yym26 := z.EncBinary()
					_ = yym26
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy25))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("geo"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Geo == nil {
					r.EncodeNil()
				} else {
					yy27 := *x.Geo
					yym28 := z.EncBinary()
					_ = yym28
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy27))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym30 := z.EncBinary()
				_ = yym30
				if false {
				} else {
					r.EncodeInt(int64(x.ID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("id"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym31 := z.EncBinary()
				_ = yym31
				if false {
				} else {
					r.EncodeInt(int64(x.ID))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym33 := z.EncBinary()
				_ = yym33
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.IDStr))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("id_str"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym34 := z.EncBinary()
				_ = yym34
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.IDStr))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.InReplyToScreenName == nil {
					r.EncodeNil()
				} else {
					yy36 := *x.InReplyToScreenName
					yym37 := z.EncBinary()
					_ = yym37
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy36))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("in_reply_to_screen_name"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.InReplyToScreenName == nil {
					r.EncodeNil()
				} else {
					yy38 := *x.InReplyToScreenName
					yym39 := z.EncBinary()
					_ = yym39
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy38))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.InReplyToStatusID == nil {
					r.EncodeNil()
				} else {
					yy41 := *x.InReplyToStatusID
					yym42 := z.EncBinary()
					_ = yym42
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy41))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("in_reply_to_status_id"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.InReplyToStatusID == nil {
					r.EncodeNil()
				} else {
					yy43 := *x.InReplyToStatusID
					yym44 := z.EncBinary()
					_ = yym44
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy43))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.InReplyToStatusIDStr == nil {
					r.EncodeNil()
				} else {
					yy46 := *x.InReplyToStatusIDStr
					yym47 := z.EncBinary()
					_ = yym47
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy46))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("in_reply_to_status_id_str"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.InReplyToStatusIDStr == nil {
					r.EncodeNil()
				} else {
					yy48 := *x.InReplyToStatusIDStr
					yym49 := z.EncBinary()
					_ = yym49
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy48))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.InReplyToUserID == nil {
					r.EncodeNil()
				} else {
					yy51 := *x.InReplyToUserID
					yym52 := z.EncBinary()
					_ = yym52
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy51))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("in_reply_to_user_id"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.InReplyToUserID == nil {
					r.EncodeNil()
				} else {
					yy53 := *x.InReplyToUserID
					yym54 := z.EncBinary()
					_ = yym54
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy53))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.InReplyToUserIDStr == nil {
					r.EncodeNil()
				} else {
					yy56 := *x.InReplyToUserIDStr
					yym57 := z.EncBinary()
					_ = yym57
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy56))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("in_reply_to_user_id_str"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.InReplyToUserIDStr == nil {
					r.EncodeNil()
				} else {
					yy58 := *x.InReplyToUserIDStr
					yym59 := z.EncBinary()
					_ = yym59
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy58))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yy61 := &x.Metadata
				yy61.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("metadata"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yy63 := &x.Metadata
				yy63.CodecEncodeSelf(e)
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Place == nil {
					r.EncodeNil()
				} else {
					yy66 := *x.Place
					yym67 := z.EncBinary()
					_ = yym67
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy66))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("place"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Place == nil {
					r.EncodeNil()
				} else {
					yy68 := *x.Place
					yym69 := z.EncBinary()
					_ = yym69
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF89225, string(yy68))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym71 := z.EncBinary()
				_ = yym71
				if false {
				} else {
					r.EncodeInt(int64(x.RetweetCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("retweet_count"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym72 := z.EncBinary()
				_ = yym72
				if false {
				} else {
					r.EncodeInt(int64(x.RetweetCount))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym74 := z.EncBinary()
				_ = yym74
				if false {
				} else {
					r.EncodeBool(bool(x.Retweeted))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("retweeted"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym75 := z.EncBinary()
				_ = yym75
				if false {
				} else {
					r.EncodeBool(bool(x.Retweeted))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym77 := z.EncBinary()
				_ = yym77
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Source))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("source"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym78 := z.EncBinary()
				_ = yym78
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Source))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym80 := z.EncBinary()
				_ = yym80
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Text))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("text"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym81 := z.EncBinary()
				_ = yym81
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF89225, string(x.Text))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yym83 := z.EncBinary()
				_ = yym83
				if false {
				} else {
					r.EncodeBool(bool(x.Truncated))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("truncated"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yym84 := z.EncBinary()
				_ = yym84
				if false {
				} else {
					r.EncodeBool(bool(x.Truncated))
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yy86 := &x.User
				yy86.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("user"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yy88 := &x.User
				yy88.CodecEncodeSelf(e)
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *Status) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *Status) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "contributors":
			if r.TryDecodeAsNil() {
				if x.Contributors != nil {
					x.Contributors = nil
				}
			} else {
				if x.Contributors == nil {
					x.Contributors = new(string)
				}
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					*((*string)(x.Contributors)) = r.DecodeString()
				}
			}
		case "coordinates":
			if r.TryDecodeAsNil() {
				if x.Coordinates != nil {
					x.Coordinates = nil
				}
			} else {
				if x.Coordinates == nil {
					x.Coordinates = new(string)
				}
				yym7 := z.DecBinary()
				_ = yym7
				if false {
				} else {
					*((*string)(x.Coordinates)) = r.DecodeString()
				}
			}
		case "created_at":
			if r.TryDecodeAsNil() {
				x.CreatedAt = ""
			} else {
				yyv8 := &x.CreatedAt
				yym9 := z.DecBinary()
				_ = yym9
				if false {
				} else {
					*((*string)(yyv8)) = r.DecodeString()
				}
			}
		case "entities":
			if r.TryDecodeAsNil() {
				x.Entities = Entities{}
			} else {
				yyv10 := &x.Entities
				yyv10.CodecDecodeSelf(d)
			}
		case "favorited":
			if r.TryDecodeAsNil() {
				x.Favorited = false
			} else {
				yyv11 := &x.Favorited
				yym12 := z.DecBinary()
				_ = yym12
				if false {
				} else {
					*((*bool)(yyv11)) = r.DecodeBool()
				}
			}
		case "geo":
			if r.TryDecodeAsNil() {
				if x.Geo != nil {
					x.Geo = nil
				}
			} else {
				if x.Geo == nil {
					x.Geo = new(string)
				}
				yym14 := z.DecBinary()
				_ = yym14
				if false {
				} else {
					*((*string)(x.Geo)) = r.DecodeString()
				}
			}
		case "id":
			if r.TryDecodeAsNil() {
				x.ID = 0
			} else {
				yyv15 := &x.ID
				yym16 := z.DecBinary()
				_ = yym16
				if false {
				} else {
					*((*int64)(yyv15)) = int64(r.DecodeInt(64))
				}
			}
		case "id_str":
			if r.TryDecodeAsNil() {
				x.IDStr = ""
			} else {
				yyv17 := &x.IDStr
				yym18 := z.DecBinary()
				_ = yym18
				if false {
				} else {
					*((*string)(yyv17)) = r.DecodeString()
				}
			}
		case "in_reply_to_screen_name":
			if r.TryDecodeAsNil() {
				if x.InReplyToScreenName != nil {
					x.InReplyToScreenName = nil
				}
			} else {
				if x.InReplyToScreenName == nil {
					x.InReplyToScreenName = new(string)
				}
				yym20 := z.DecBinary()
				_ = yym20
				if false {
				} else {
					*((*string)(x.InReplyToScreenName)) = r.DecodeString()
				}
			}
		case "in_reply_to_status_id":
			if r.TryDecodeAsNil() {
				if x.InReplyToStatusID != nil {
					x.InReplyToStatusID = nil
				}
			} else {
				if x.InReplyToStatusID == nil {
					x.InReplyToStatusID = new(string)
				}
				yym22 := z.DecBinary()
				_ = yym22
				if false {
				} else {
					*((*string)(x.InReplyToStatusID)) = r.DecodeString()
				}
			}
		case "in_reply_to_status_id_str":
			if r.TryDecodeAsNil() {
				if x.InReplyToStatusIDStr != nil {
					x.InReplyToStatusIDStr = nil
				}
			} else {
				if x.InReplyToStatusIDStr == nil {
					x.InReplyToStatusIDStr = new(string)
				}
				yym24 := z.DecBinary()
				_ = yym24
				if false {
				} else {
					*((*string)(x.InReplyToStatusIDStr)) = r.DecodeString()
				}
			}
		case "in_reply_to_user_id":
			if r.TryDecodeAsNil() {
				if x.InReplyToUserID != nil {
					x.InReplyToUserID = nil
				}
			} else {
				if x.InReplyToUserID == nil {
					x.InReplyToUserID = new(string)
				}
				yym26 := z.DecBinary()
				_ = yym26
				if false {
				} else {
					*((*string)(x.InReplyToUserID)) = r.DecodeString()
				}
			}
		case "in_reply_to_user_id_str":
			if r.TryDecodeAsNil() {
				if x.InReplyToUserIDStr != nil {
					x.InReplyToUserIDStr = nil
				}
			} else {
				if x.InReplyToUserIDStr == nil {
					x.InReplyToUserIDStr = new(string)
				}
				yym28 := z.DecBinary()
				_ = yym28
				if false {
				} else {
					*((*string)(x.InReplyToUserIDStr)) = r.DecodeString()
				}
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.Metadata = StatusMetadata{}
			} else {
				yyv29 := &x.Metadata
				yyv29.CodecDecodeSelf(d)
			}
		case "place":
			if r.TryDecodeAsNil() {
				if x.Place != nil {
					x.Place = nil
				}
			} else {
				if x.Place == nil {
					x.Place = new(string)
				}
				yym31 := z.DecBinary()
				_ = yym31
				if false {
				} else {
					*((*string)(x.Place)) = r.DecodeString()
				}
			}
		case "retweet_count":
			if r.TryDecodeAsNil() {
				x.RetweetCount = 0
			} else {
				yyv32 := &x.RetweetCount
				yym33 := z.DecBinary()
				_ = yym33
				if false {
				} else {
					*((*int)(yyv32)) = int(r.DecodeInt(codecSelferBitsize9225))
				}
			}
		case "retweeted":
			if r.TryDecodeAsNil() {
				x.Retweeted = false
			} else {
				yyv34 := &x.Retweeted
				yym35 := z.DecBinary()
				_ = yym35
				if false {
				} else {
					*((*bool)(yyv34)) = r.DecodeBool()
				}
			}
		case "source":
			if r.TryDecodeAsNil() {
				x.Source = ""
			} else {
				yyv36 := &x.Source
				yym37 := z.DecBinary()
				_ = yym37
				if false {
				} else {
					*((*string)(yyv36)) = r.DecodeString()
				}
			}
		case "text":
			if r.TryDecodeAsNil() {
				x.Text = ""
			} else {
				yyv38 := &x.Text
				yym39 := z.DecBinary()
				_ = yym39
				if false {
				} else {
					*((*string)(yyv38)) = r.DecodeString()
				}
			}
		case "truncated":
			if r.TryDecodeAsNil() {
				x.Truncated = false
			} else {
				yyv40 := &x.Truncated
				yym41 := z.DecBinary()
				_ = yym41
				if false {
				} else {
					*((*bool)(yyv40)) = r.DecodeBool()
				}
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.User = User{}
			} else {
				yyv42 := &x.User
				yyv42.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *Status) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj43 int
	var yyb43 bool
	var yyhl43 bool = l >= 0
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.Contributors != nil {
			x.Contributors = nil
		}
	} else {
		if x.Contributors == nil {
			x.Contributors = new(string)
		}
		yym45 := z.DecBinary()
		_ = yym45
		if false {
		} else {
			*((*string)(x.Contributors)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.Coordinates != nil {
			x.Coordinates = nil
		}
	} else {
		if x.Coordinates == nil {
			x.Coordinates = new(string)
		}
		yym47 := z.DecBinary()
		_ = yym47
		if false {
		} else {
			*((*string)(x.Coordinates)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.CreatedAt = ""
	} else {
		yyv48 := &x.CreatedAt
		yym49 := z.DecBinary()
		_ = yym49
		if false {
		} else {
			*((*string)(yyv48)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Entities = Entities{}
	} else {
		yyv50 := &x.Entities
		yyv50.CodecDecodeSelf(d)
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Favorited = false
	} else {
		yyv51 := &x.Favorited
		yym52 := z.DecBinary()
		_ = yym52
		if false {
		} else {
			*((*bool)(yyv51)) = r.DecodeBool()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.Geo != nil {
			x.Geo = nil
		}
	} else {
		if x.Geo == nil {
			x.Geo = new(string)
		}
		yym54 := z.DecBinary()
		_ = yym54
		if false {
		} else {
			*((*string)(x.Geo)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.ID = 0
	} else {
		yyv55 := &x.ID
		yym56 := z.DecBinary()
		_ = yym56
		if false {
		} else {
			*((*int64)(yyv55)) = int64(r.DecodeInt(64))
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.IDStr = ""
	} else {
		yyv57 := &x.IDStr
		yym58 := z.DecBinary()
		_ = yym58
		if false {
		} else {
			*((*string)(yyv57)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.InReplyToScreenName != nil {
			x.InReplyToScreenName = nil
		}
	} else {
		if x.InReplyToScreenName == nil {
			x.InReplyToScreenName = new(string)
		}
		yym60 := z.DecBinary()
		_ = yym60
		if false {
		} else {
			*((*string)(x.InReplyToScreenName)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.InReplyToStatusID != nil {
			x.InReplyToStatusID = nil
		}
	} else {
		if x.InReplyToStatusID == nil {
			x.InReplyToStatusID = new(string)
		}
		yym62 := z.DecBinary()
		_ = yym62
		if false {
		} else {
			*((*string)(x.InReplyToStatusID)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.InReplyToStatusIDStr != nil {
			x.InReplyToStatusIDStr = nil
		}
	} else {
		if x.InReplyToStatusIDStr == nil {
			x.InReplyToStatusIDStr = new(string)
		}
		yym64 := z.DecBinary()
		_ = yym64
		if false {
		} else {
			*((*string)(x.InReplyToStatusIDStr)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.InReplyToUserID != nil {
			x.InReplyToUserID = nil
		}
	} else {
		if x.InReplyToUserID == nil {
			x.InReplyToUserID = new(string)
		}
		yym66 := z.DecBinary()
		_ = yym66
		if false {
		} else {
			*((*string)(x.InReplyToUserID)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.InReplyToUserIDStr != nil {
			x.InReplyToUserIDStr = nil
		}
	} else {
		if x.InReplyToUserIDStr == nil {
			x.InReplyToUserIDStr = new(string)
		}
		yym68 := z.DecBinary()
		_ = yym68
		if false {
		} else {
			*((*string)(x.InReplyToUserIDStr)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Metadata = StatusMetadata{}
	} else {
		yyv69 := &x.Metadata
		yyv69.CodecDecodeSelf(d)
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		if x.Place != nil {
			x.Place = nil
		}
	} else {
		if x.Place == nil {
			x.Place = new(string)
		}
		yym71 := z.DecBinary()
		_ = yym71
		if false {
		} else {
			*((*string)(x.Place)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.RetweetCount = 0
	} else {
		yyv72 := &x.RetweetCount
		yym73 := z.DecBinary()
		_ = yym73
		if false {
		} else {
			*((*int)(yyv72)) = int(r.DecodeInt(codecSelferBitsize9225))
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Retweeted = false
	} else {
		yyv74 := &x.Retweeted
		yym75 := z.DecBinary()
		_ = yym75
		if false {
		} else {
			*((*bool)(yyv74)) = r.DecodeBool()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Source = ""
	} else {
		yyv76 := &x.Source
		yym77 := z.DecBinary()
		_ = yym77
		if false {
		} else {
			*((*string)(yyv76)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Text = ""
	} else {
		yyv78 := &x.Text
		yym79 := z.DecBinary()
		_ = yym79
		if false {
		} else {
			*((*string)(yyv78)) = r.DecodeString()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Truncated = false
	} else {
		yyv80 := &x.Truncated
		yym81 := z.DecBinary()
		_ = yym81
		if false {
		} else {
			*((*bool)(yyv80)) = r.DecodeBool()
		}
	}
	yyj43++
	if yyhl43 {
		yyb43 = yyj43 > l
	} else {
		yyb43 = r.CheckBreak()
	}
	if yyb43 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.User = User{}
	} else {
		yyv82 := &x.User
		yyv82.CodecDecodeSelf(d)
	}
	for {
		yyj43++
		if yyhl43 {
			yyb43 = yyj43 > l
		} else {
			yyb43 = r.CheckBreak()
		}
		if yyb43 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj43-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *LargeStruct) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [2]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(2)
			} else {
				yynn2 = 2
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				yy4 := &x.SearchMetadata
				yy4.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("search_metadata"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				yy6 := &x.SearchMetadata
				yy6.CodecEncodeSelf(e)
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Statuses == nil {
					r.EncodeNil()
				} else {
					yym9 := z.EncBinary()
					_ = yym9
					if false {
					} else {
						h.encSliceStatus(([]Status)(x.Statuses), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("statuses"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Statuses == nil {
					r.EncodeNil()
				} else {
					yym10 := z.EncBinary()
					_ = yym10
					if false {
					} else {
						h.encSliceStatus(([]Status)(x.Statuses), e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *LargeStruct) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *LargeStruct) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "search_metadata":
			if r.TryDecodeAsNil() {
				x.SearchMetadata = SearchMetadata{}
			} else {
				yyv4 := &x.SearchMetadata
				yyv4.CodecDecodeSelf(d)
			}
		case "statuses":
			if r.TryDecodeAsNil() {
				x.Statuses = nil
			} else {
				yyv5 := &x.Statuses
				yym6 := z.DecBinary()
				_ = yym6
				if false {
				} else {
					h.decSliceStatus((*[]Status)(yyv5), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *LargeStruct) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj7 int
	var yyb7 bool
	var yyhl7 bool = l >= 0
	yyj7++
	if yyhl7 {
		yyb7 = yyj7 > l
	} else {
		yyb7 = r.CheckBreak()
	}
	if yyb7 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.SearchMetadata = SearchMetadata{}
	} else {
		yyv8 := &x.SearchMetadata
		yyv8.CodecDecodeSelf(d)
	}
	yyj7++
	if yyhl7 {
		yyb7 = yyj7 > l
	} else {
		yyb7 = r.CheckBreak()
	}
	if yyb7 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Statuses = nil
	} else {
		yyv9 := &x.Statuses
		yym10 := z.DecBinary()
		_ = yym10
		if false {
		} else {
			h.decSliceStatus((*[]Status)(yyv9), d)
		}
	}
	for {
		yyj7++
		if yyhl7 {
			yyb7 = yyj7 > l
		} else {
			yyb7 = r.CheckBreak()
		}
		if yyb7 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj7-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x *XLStruct) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [1]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(1)
			} else {
				yynn2 = 1
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem9225)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						h.encSliceLargeStruct(([]LargeStruct)(x.Data), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey9225)
				r.EncodeString(codecSelferC_UTF89225, string("Data"))
				z.EncSendContainerState(codecSelfer_containerMapValue9225)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						h.encSliceLargeStruct(([]LargeStruct)(x.Data), e)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd9225)
			}
		}
	}
}

func (x *XLStruct) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1 := z.DecBinary()
	_ = yym1
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2 := r.ContainerType()
		if yyct2 == codecSelferValueTypeMap9225 {
			yyl2 := r.ReadMapStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd9225)
			} else {
				x.codecDecodeSelfFromMap(yyl2, d)
			}
		} else if yyct2 == codecSelferValueTypeArray9225 {
			yyl2 := r.ReadArrayStart()
			if yyl2 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
			} else {
				x.codecDecodeSelfFromArray(yyl2, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr9225)
		}
	}
}

func (x *XLStruct) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3Slc
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey9225)
		yys3Slc = r.DecodeBytes(yys3Slc, true, true)
		yys3SlcHdr := codecSelferUnsafeString9225{uintptr(unsafe.Pointer(&yys3Slc[0])), len(yys3Slc)}
		yys3 := *(*string)(unsafe.Pointer(&yys3SlcHdr))
		z.DecSendContainerState(codecSelfer_containerMapValue9225)
		switch yys3 {
		case "Data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4 := &x.Data
				yym5 := z.DecBinary()
				_ = yym5
				if false {
				} else {
					h.decSliceLargeStruct((*[]LargeStruct)(yyv4), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3)
		} // end switch yys3
	} // end for yyj3
	z.DecSendContainerState(codecSelfer_containerMapEnd9225)
}

func (x *XLStruct) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj6 int
	var yyb6 bool
	var yyhl6 bool = l >= 0
	yyj6++
	if yyhl6 {
		yyb6 = yyj6 > l
	} else {
		yyb6 = r.CheckBreak()
	}
	if yyb6 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem9225)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv7 := &x.Data
		yym8 := z.DecBinary()
		_ = yym8
		if false {
		} else {
			h.decSliceLargeStruct((*[]LargeStruct)(yyv7), d)
		}
	}
	for {
		yyj6++
		if yyhl6 {
			yyb6 = yyj6 > l
		} else {
			yyb6 = r.CheckBreak()
		}
		if yyb6 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem9225)
		z.DecStructFieldNotFound(yyj6-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x codecSelfer9225) encSliceHashtag(v []Hashtag, e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv1 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem9225)
		yy2 := &yyv1
		yy2.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x codecSelfer9225) decSliceHashtag(v *[]Hashtag, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyh1, yyl1 := z.DecSliceHelperStart()
	var yyc1 bool
	_ = yyc1
	if yyl1 == 0 {
		if yyv1 == nil {
			yyv1 = []Hashtag{}
			yyc1 = true
		} else if len(yyv1) != 0 {
			yyv1 = yyv1[:0]
			yyc1 = true
		}
	} else if yyl1 > 0 {
		var yyrr1, yyrl1 int
		var yyrt1 bool
		_, _ = yyrl1, yyrt1
		yyrr1 = yyl1 // len(yyv1)
		if yyl1 > cap(yyv1) {

			yyrg1 := len(yyv1) > 0
			yyv21 := yyv1
			yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt1 {
				if yyrl1 <= cap(yyv1) {
					yyv1 = yyv1[:yyrl1]
				} else {
					yyv1 = make([]Hashtag, yyrl1)
				}
			} else {
				yyv1 = make([]Hashtag, yyrl1)
			}
			yyc1 = true
			yyrr1 = len(yyv1)
			if yyrg1 {
				copy(yyv1, yyv21)
			}
		} else if yyl1 != len(yyv1) {
			yyv1 = yyv1[:yyl1]
			yyc1 = true
		}
		yyj1 := 0
		for ; yyj1 < yyrr1; yyj1++ {
			yyh1.ElemContainerState(yyj1)
			if r.TryDecodeAsNil() {
				yyv1[yyj1] = Hashtag{}
			} else {
				yyv2 := &yyv1[yyj1]
				yyv2.CodecDecodeSelf(d)
			}

		}
		if yyrt1 {
			for ; yyj1 < yyl1; yyj1++ {
				yyv1 = append(yyv1, Hashtag{})
				yyh1.ElemContainerState(yyj1)
				if r.TryDecodeAsNil() {
					yyv1[yyj1] = Hashtag{}
				} else {
					yyv3 := &yyv1[yyj1]
					yyv3.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj1 >= len(yyv1) {
				yyv1 = append(yyv1, Hashtag{}) // var yyz1 Hashtag
				yyc1 = true
			}
			yyh1.ElemContainerState(yyj1)
			if yyj1 < len(yyv1) {
				if r.TryDecodeAsNil() {
					yyv1[yyj1] = Hashtag{}
				} else {
					yyv4 := &yyv1[yyj1]
					yyv4.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj1 < len(yyv1) {
			yyv1 = yyv1[:yyj1]
			yyc1 = true
		} else if yyj1 == 0 && yyv1 == nil {
			yyv1 = []Hashtag{}
			yyc1 = true
		}
	}
	yyh1.End()
	if yyc1 {
		*v = yyv1
	}
}

func (x codecSelfer9225) encSlicePtrtostring(v []*string, e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv1 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem9225)
		if yyv1 == nil {
			r.EncodeNil()
		} else {
			yy2 := *yyv1
			yym3 := z.EncBinary()
			_ = yym3
			if false {
			} else {
				r.EncodeString(codecSelferC_UTF89225, string(yy2))
			}
		}
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x codecSelfer9225) decSlicePtrtostring(v *[]*string, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyh1, yyl1 := z.DecSliceHelperStart()
	var yyc1 bool
	_ = yyc1
	if yyl1 == 0 {
		if yyv1 == nil {
			yyv1 = []*string{}
			yyc1 = true
		} else if len(yyv1) != 0 {
			yyv1 = yyv1[:0]
			yyc1 = true
		}
	} else if yyl1 > 0 {
		var yyrr1, yyrl1 int
		var yyrt1 bool
		_, _ = yyrl1, yyrt1
		yyrr1 = yyl1 // len(yyv1)
		if yyl1 > cap(yyv1) {

			yyrg1 := len(yyv1) > 0
			yyv21 := yyv1
			yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 8)
			if yyrt1 {
				if yyrl1 <= cap(yyv1) {
					yyv1 = yyv1[:yyrl1]
				} else {
					yyv1 = make([]*string, yyrl1)
				}
			} else {
				yyv1 = make([]*string, yyrl1)
			}
			yyc1 = true
			yyrr1 = len(yyv1)
			if yyrg1 {
				copy(yyv1, yyv21)
			}
		} else if yyl1 != len(yyv1) {
			yyv1 = yyv1[:yyl1]
			yyc1 = true
		}
		yyj1 := 0
		for ; yyj1 < yyrr1; yyj1++ {
			yyh1.ElemContainerState(yyj1)
			if r.TryDecodeAsNil() {
				if yyv1[yyj1] != nil {
					*yyv1[yyj1] = ""
				}
			} else {
				if yyv1[yyj1] == nil {
					yyv1[yyj1] = new(string)
				}
				yyw2 := yyv1[yyj1]
				yym3 := z.DecBinary()
				_ = yym3
				if false {
				} else {
					*((*string)(yyw2)) = r.DecodeString()
				}
			}

		}
		if yyrt1 {
			for ; yyj1 < yyl1; yyj1++ {
				yyv1 = append(yyv1, nil)
				yyh1.ElemContainerState(yyj1)
				if r.TryDecodeAsNil() {
					if yyv1[yyj1] != nil {
						*yyv1[yyj1] = ""
					}
				} else {
					if yyv1[yyj1] == nil {
						yyv1[yyj1] = new(string)
					}
					yyw4 := yyv1[yyj1]
					yym5 := z.DecBinary()
					_ = yym5
					if false {
					} else {
						*((*string)(yyw4)) = r.DecodeString()
					}
				}

			}
		}

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

			if yyj1 >= len(yyv1) {
				yyv1 = append(yyv1, nil) // var yyz1 *string
				yyc1 = true
			}
			yyh1.ElemContainerState(yyj1)
			if yyj1 < len(yyv1) {
				if r.TryDecodeAsNil() {
					if yyv1[yyj1] != nil {
						*yyv1[yyj1] = ""
					}
				} else {
					if yyv1[yyj1] == nil {
						yyv1[yyj1] = new(string)
					}
					yyw6 := yyv1[yyj1]
					yym7 := z.DecBinary()
					_ = yym7
					if false {
					} else {
						*((*string)(yyw6)) = r.DecodeString()
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj1 < len(yyv1) {
			yyv1 = yyv1[:yyj1]
			yyc1 = true
		} else if yyj1 == 0 && yyv1 == nil {
			yyv1 = []*string{}
			yyc1 = true
		}
	}
	yyh1.End()
	if yyc1 {
		*v = yyv1
	}
}

func (x codecSelfer9225) encSliceURL(v []URL, e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv1 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem9225)
		yy2 := &yyv1
		yy2.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x codecSelfer9225) decSliceURL(v *[]URL, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyh1, yyl1 := z.DecSliceHelperStart()
	var yyc1 bool
	_ = yyc1
	if yyl1 == 0 {
		if yyv1 == nil {
			yyv1 = []URL{}
			yyc1 = true
		} else if len(yyv1) != 0 {
			yyv1 = yyv1[:0]
			yyc1 = true
		}
	} else if yyl1 > 0 {
		var yyrr1, yyrl1 int
		var yyrt1 bool
		_, _ = yyrl1, yyrt1
		yyrr1 = yyl1 // len(yyv1)
		if yyl1 > cap(yyv1) {

			yyrg1 := len(yyv1) > 0
			yyv21 := yyv1
			yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt1 {
				if yyrl1 <= cap(yyv1) {
					yyv1 = yyv1[:yyrl1]
				} else {
					yyv1 = make([]URL, yyrl1)
				}
			} else {
				yyv1 = make([]URL, yyrl1)
			}
			yyc1 = true
			yyrr1 = len(yyv1)
			if yyrg1 {
				copy(yyv1, yyv21)
			}
		} else if yyl1 != len(yyv1) {
			yyv1 = yyv1[:yyl1]
			yyc1 = true
		}
		yyj1 := 0
		for ; yyj1 < yyrr1; yyj1++ {
			yyh1.ElemContainerState(yyj1)
			if r.TryDecodeAsNil() {
				yyv1[yyj1] = URL{}
			} else {
				yyv2 := &yyv1[yyj1]
				yyv2.CodecDecodeSelf(d)
			}

		}
		if yyrt1 {
			for ; yyj1 < yyl1; yyj1++ {
				yyv1 = append(yyv1, URL{})
				yyh1.ElemContainerState(yyj1)
				if r.TryDecodeAsNil() {
					yyv1[yyj1] = URL{}
				} else {
					yyv3 := &yyv1[yyj1]
					yyv3.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj1 >= len(yyv1) {
				yyv1 = append(yyv1, URL{}) // var yyz1 URL
				yyc1 = true
			}
			yyh1.ElemContainerState(yyj1)
			if yyj1 < len(yyv1) {
				if r.TryDecodeAsNil() {
					yyv1[yyj1] = URL{}
				} else {
					yyv4 := &yyv1[yyj1]
					yyv4.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj1 < len(yyv1) {
			yyv1 = yyv1[:yyj1]
			yyc1 = true
		} else if yyj1 == 0 && yyv1 == nil {
			yyv1 = []URL{}
			yyc1 = true
		}
	}
	yyh1.End()
	if yyc1 {
		*v = yyv1
	}
}

func (x codecSelfer9225) encSliceStatus(v []Status, e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv1 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem9225)
		yy2 := &yyv1
		yy2.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x codecSelfer9225) decSliceStatus(v *[]Status, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyh1, yyl1 := z.DecSliceHelperStart()
	var yyc1 bool
	_ = yyc1
	if yyl1 == 0 {
		if yyv1 == nil {
			yyv1 = []Status{}
			yyc1 = true
		} else if len(yyv1) != 0 {
			yyv1 = yyv1[:0]
			yyc1 = true
		}
	} else if yyl1 > 0 {
		var yyrr1, yyrl1 int
		var yyrt1 bool
		_, _ = yyrl1, yyrt1
		yyrr1 = yyl1 // len(yyv1)
		if yyl1 > cap(yyv1) {

			yyrg1 := len(yyv1) > 0
			yyv21 := yyv1
			yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 752)
			if yyrt1 {
				if yyrl1 <= cap(yyv1) {
					yyv1 = yyv1[:yyrl1]
				} else {
					yyv1 = make([]Status, yyrl1)
				}
			} else {
				yyv1 = make([]Status, yyrl1)
			}
			yyc1 = true
			yyrr1 = len(yyv1)
			if yyrg1 {
				copy(yyv1, yyv21)
			}
		} else if yyl1 != len(yyv1) {
			yyv1 = yyv1[:yyl1]
			yyc1 = true
		}
		yyj1 := 0
		for ; yyj1 < yyrr1; yyj1++ {
			yyh1.ElemContainerState(yyj1)
			if r.TryDecodeAsNil() {
				yyv1[yyj1] = Status{}
			} else {
				yyv2 := &yyv1[yyj1]
				yyv2.CodecDecodeSelf(d)
			}

		}
		if yyrt1 {
			for ; yyj1 < yyl1; yyj1++ {
				yyv1 = append(yyv1, Status{})
				yyh1.ElemContainerState(yyj1)
				if r.TryDecodeAsNil() {
					yyv1[yyj1] = Status{}
				} else {
					yyv3 := &yyv1[yyj1]
					yyv3.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj1 >= len(yyv1) {
				yyv1 = append(yyv1, Status{}) // var yyz1 Status
				yyc1 = true
			}
			yyh1.ElemContainerState(yyj1)
			if yyj1 < len(yyv1) {
				if r.TryDecodeAsNil() {
					yyv1[yyj1] = Status{}
				} else {
					yyv4 := &yyv1[yyj1]
					yyv4.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj1 < len(yyv1) {
			yyv1 = yyv1[:yyj1]
			yyc1 = true
		} else if yyj1 == 0 && yyv1 == nil {
			yyv1 = []Status{}
			yyc1 = true
		}
	}
	yyh1.End()
	if yyc1 {
		*v = yyv1
	}
}

func (x codecSelfer9225) encSliceLargeStruct(v []LargeStruct, e *codec1978.Encoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv1 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem9225)
		yy2 := &yyv1
		yy2.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd9225)
}

func (x codecSelfer9225) decSliceLargeStruct(v *[]LargeStruct, d *codec1978.Decoder) {
	var h codecSelfer9225
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyh1, yyl1 := z.DecSliceHelperStart()
	var yyc1 bool
	_ = yyc1
	if yyl1 == 0 {
		if yyv1 == nil {
			yyv1 = []LargeStruct{}
			yyc1 = true
		} else if len(yyv1) != 0 {
			yyv1 = yyv1[:0]
			yyc1 = true
		}
	} else if yyl1 > 0 {
		var yyrr1, yyrl1 int
		var yyrt1 bool
		_, _ = yyrl1, yyrt1
		yyrr1 = yyl1 // len(yyv1)
		if yyl1 > cap(yyv1) {

			yyrg1 := len(yyv1) > 0
			yyv21 := yyv1
			yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 136)
			if yyrt1 {
				if yyrl1 <= cap(yyv1) {
					yyv1 = yyv1[:yyrl1]
				} else {
					yyv1 = make([]LargeStruct, yyrl1)
				}
			} else {
				yyv1 = make([]LargeStruct, yyrl1)
			}
			yyc1 = true
			yyrr1 = len(yyv1)
			if yyrg1 {
				copy(yyv1, yyv21)
			}
		} else if yyl1 != len(yyv1) {
			yyv1 = yyv1[:yyl1]
			yyc1 = true
		}
		yyj1 := 0
		for ; yyj1 < yyrr1; yyj1++ {
			yyh1.ElemContainerState(yyj1)
			if r.TryDecodeAsNil() {
				yyv1[yyj1] = LargeStruct{}
			} else {
				yyv2 := &yyv1[yyj1]
				yyv2.CodecDecodeSelf(d)
			}

		}
		if yyrt1 {
			for ; yyj1 < yyl1; yyj1++ {
				yyv1 = append(yyv1, LargeStruct{})
				yyh1.ElemContainerState(yyj1)
				if r.TryDecodeAsNil() {
					yyv1[yyj1] = LargeStruct{}
				} else {
					yyv3 := &yyv1[yyj1]
					yyv3.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj1 >= len(yyv1) {
				yyv1 = append(yyv1, LargeStruct{}) // var yyz1 LargeStruct
				yyc1 = true
			}
			yyh1.ElemContainerState(yyj1)
			if yyj1 < len(yyv1) {
				if r.TryDecodeAsNil() {
					yyv1[yyj1] = LargeStruct{}
				} else {
					yyv4 := &yyv1[yyj1]
					yyv4.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj1 < len(yyv1) {
			yyv1 = yyv1[:yyj1]
			yyc1 = true
		} else if yyj1 == 0 && yyv1 == nil {
			yyv1 = []LargeStruct{}
			yyc1 = true
		}
	}
	yyh1.End()
	if yyc1 {
		*v = yyv1
	}
}
