storj.io/minio@v0.0.0-20230509071714-0cbc90f649b1/cmd/xl-storage-format-v2_gen.go (about)

     1  package cmd
     2  
     3  // Code generated by github.com/tinylib/msgp DO NOT EDIT.
     4  
     5  import (
     6  	"github.com/tinylib/msgp/msgp"
     7  )
     8  
     9  // DecodeMsg implements msgp.Decodable
    10  func (z *ChecksumAlgo) DecodeMsg(dc *msgp.Reader) (err error) {
    11  	{
    12  		var zb0001 uint8
    13  		zb0001, err = dc.ReadUint8()
    14  		if err != nil {
    15  			err = msgp.WrapError(err)
    16  			return
    17  		}
    18  		(*z) = ChecksumAlgo(zb0001)
    19  	}
    20  	return
    21  }
    22  
    23  // EncodeMsg implements msgp.Encodable
    24  func (z ChecksumAlgo) EncodeMsg(en *msgp.Writer) (err error) {
    25  	err = en.WriteUint8(uint8(z))
    26  	if err != nil {
    27  		err = msgp.WrapError(err)
    28  		return
    29  	}
    30  	return
    31  }
    32  
    33  // MarshalMsg implements msgp.Marshaler
    34  func (z ChecksumAlgo) MarshalMsg(b []byte) (o []byte, err error) {
    35  	o = msgp.Require(b, z.Msgsize())
    36  	o = msgp.AppendUint8(o, uint8(z))
    37  	return
    38  }
    39  
    40  // UnmarshalMsg implements msgp.Unmarshaler
    41  func (z *ChecksumAlgo) UnmarshalMsg(bts []byte) (o []byte, err error) {
    42  	{
    43  		var zb0001 uint8
    44  		zb0001, bts, err = msgp.ReadUint8Bytes(bts)
    45  		if err != nil {
    46  			err = msgp.WrapError(err)
    47  			return
    48  		}
    49  		(*z) = ChecksumAlgo(zb0001)
    50  	}
    51  	o = bts
    52  	return
    53  }
    54  
    55  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
    56  func (z ChecksumAlgo) Msgsize() (s int) {
    57  	s = msgp.Uint8Size
    58  	return
    59  }
    60  
    61  // DecodeMsg implements msgp.Decodable
    62  func (z *ErasureAlgo) DecodeMsg(dc *msgp.Reader) (err error) {
    63  	{
    64  		var zb0001 uint8
    65  		zb0001, err = dc.ReadUint8()
    66  		if err != nil {
    67  			err = msgp.WrapError(err)
    68  			return
    69  		}
    70  		(*z) = ErasureAlgo(zb0001)
    71  	}
    72  	return
    73  }
    74  
    75  // EncodeMsg implements msgp.Encodable
    76  func (z ErasureAlgo) EncodeMsg(en *msgp.Writer) (err error) {
    77  	err = en.WriteUint8(uint8(z))
    78  	if err != nil {
    79  		err = msgp.WrapError(err)
    80  		return
    81  	}
    82  	return
    83  }
    84  
    85  // MarshalMsg implements msgp.Marshaler
    86  func (z ErasureAlgo) MarshalMsg(b []byte) (o []byte, err error) {
    87  	o = msgp.Require(b, z.Msgsize())
    88  	o = msgp.AppendUint8(o, uint8(z))
    89  	return
    90  }
    91  
    92  // UnmarshalMsg implements msgp.Unmarshaler
    93  func (z *ErasureAlgo) UnmarshalMsg(bts []byte) (o []byte, err error) {
    94  	{
    95  		var zb0001 uint8
    96  		zb0001, bts, err = msgp.ReadUint8Bytes(bts)
    97  		if err != nil {
    98  			err = msgp.WrapError(err)
    99  			return
   100  		}
   101  		(*z) = ErasureAlgo(zb0001)
   102  	}
   103  	o = bts
   104  	return
   105  }
   106  
   107  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
   108  func (z ErasureAlgo) Msgsize() (s int) {
   109  	s = msgp.Uint8Size
   110  	return
   111  }
   112  
   113  // DecodeMsg implements msgp.Decodable
   114  func (z *VersionType) DecodeMsg(dc *msgp.Reader) (err error) {
   115  	{
   116  		var zb0001 uint8
   117  		zb0001, err = dc.ReadUint8()
   118  		if err != nil {
   119  			err = msgp.WrapError(err)
   120  			return
   121  		}
   122  		(*z) = VersionType(zb0001)
   123  	}
   124  	return
   125  }
   126  
   127  // EncodeMsg implements msgp.Encodable
   128  func (z VersionType) EncodeMsg(en *msgp.Writer) (err error) {
   129  	err = en.WriteUint8(uint8(z))
   130  	if err != nil {
   131  		err = msgp.WrapError(err)
   132  		return
   133  	}
   134  	return
   135  }
   136  
   137  // MarshalMsg implements msgp.Marshaler
   138  func (z VersionType) MarshalMsg(b []byte) (o []byte, err error) {
   139  	o = msgp.Require(b, z.Msgsize())
   140  	o = msgp.AppendUint8(o, uint8(z))
   141  	return
   142  }
   143  
   144  // UnmarshalMsg implements msgp.Unmarshaler
   145  func (z *VersionType) UnmarshalMsg(bts []byte) (o []byte, err error) {
   146  	{
   147  		var zb0001 uint8
   148  		zb0001, bts, err = msgp.ReadUint8Bytes(bts)
   149  		if err != nil {
   150  			err = msgp.WrapError(err)
   151  			return
   152  		}
   153  		(*z) = VersionType(zb0001)
   154  	}
   155  	o = bts
   156  	return
   157  }
   158  
   159  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
   160  func (z VersionType) Msgsize() (s int) {
   161  	s = msgp.Uint8Size
   162  	return
   163  }
   164  
   165  // DecodeMsg implements msgp.Decodable
   166  func (z *xlMetaV2) DecodeMsg(dc *msgp.Reader) (err error) {
   167  	var field []byte
   168  	_ = field
   169  	var zb0001 uint32
   170  	zb0001, err = dc.ReadMapHeader()
   171  	if err != nil {
   172  		err = msgp.WrapError(err)
   173  		return
   174  	}
   175  	for zb0001 > 0 {
   176  		zb0001--
   177  		field, err = dc.ReadMapKeyPtr()
   178  		if err != nil {
   179  			err = msgp.WrapError(err)
   180  			return
   181  		}
   182  		switch msgp.UnsafeString(field) {
   183  		case "Versions":
   184  			var zb0002 uint32
   185  			zb0002, err = dc.ReadArrayHeader()
   186  			if err != nil {
   187  				err = msgp.WrapError(err, "Versions")
   188  				return
   189  			}
   190  			if cap(z.Versions) >= int(zb0002) {
   191  				z.Versions = (z.Versions)[:zb0002]
   192  			} else {
   193  				z.Versions = make([]xlMetaV2Version, zb0002)
   194  			}
   195  			for za0001 := range z.Versions {
   196  				err = z.Versions[za0001].DecodeMsg(dc)
   197  				if err != nil {
   198  					err = msgp.WrapError(err, "Versions", za0001)
   199  					return
   200  				}
   201  			}
   202  		default:
   203  			err = dc.Skip()
   204  			if err != nil {
   205  				err = msgp.WrapError(err)
   206  				return
   207  			}
   208  		}
   209  	}
   210  	return
   211  }
   212  
   213  // EncodeMsg implements msgp.Encodable
   214  func (z *xlMetaV2) EncodeMsg(en *msgp.Writer) (err error) {
   215  	// map header, size 1
   216  	// write "Versions"
   217  	err = en.Append(0x81, 0xa8, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73)
   218  	if err != nil {
   219  		return
   220  	}
   221  	err = en.WriteArrayHeader(uint32(len(z.Versions)))
   222  	if err != nil {
   223  		err = msgp.WrapError(err, "Versions")
   224  		return
   225  	}
   226  	for za0001 := range z.Versions {
   227  		err = z.Versions[za0001].EncodeMsg(en)
   228  		if err != nil {
   229  			err = msgp.WrapError(err, "Versions", za0001)
   230  			return
   231  		}
   232  	}
   233  	return
   234  }
   235  
   236  // MarshalMsg implements msgp.Marshaler
   237  func (z *xlMetaV2) MarshalMsg(b []byte) (o []byte, err error) {
   238  	o = msgp.Require(b, z.Msgsize())
   239  	// map header, size 1
   240  	// string "Versions"
   241  	o = append(o, 0x81, 0xa8, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73)
   242  	o = msgp.AppendArrayHeader(o, uint32(len(z.Versions)))
   243  	for za0001 := range z.Versions {
   244  		o, err = z.Versions[za0001].MarshalMsg(o)
   245  		if err != nil {
   246  			err = msgp.WrapError(err, "Versions", za0001)
   247  			return
   248  		}
   249  	}
   250  	return
   251  }
   252  
   253  // UnmarshalMsg implements msgp.Unmarshaler
   254  func (z *xlMetaV2) UnmarshalMsg(bts []byte) (o []byte, err error) {
   255  	var field []byte
   256  	_ = field
   257  	var zb0001 uint32
   258  	zb0001, bts, err = msgp.ReadMapHeaderBytes(bts)
   259  	if err != nil {
   260  		err = msgp.WrapError(err)
   261  		return
   262  	}
   263  	for zb0001 > 0 {
   264  		zb0001--
   265  		field, bts, err = msgp.ReadMapKeyZC(bts)
   266  		if err != nil {
   267  			err = msgp.WrapError(err)
   268  			return
   269  		}
   270  		switch msgp.UnsafeString(field) {
   271  		case "Versions":
   272  			var zb0002 uint32
   273  			zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts)
   274  			if err != nil {
   275  				err = msgp.WrapError(err, "Versions")
   276  				return
   277  			}
   278  			if cap(z.Versions) >= int(zb0002) {
   279  				z.Versions = (z.Versions)[:zb0002]
   280  			} else {
   281  				z.Versions = make([]xlMetaV2Version, zb0002)
   282  			}
   283  			for za0001 := range z.Versions {
   284  				bts, err = z.Versions[za0001].UnmarshalMsg(bts)
   285  				if err != nil {
   286  					err = msgp.WrapError(err, "Versions", za0001)
   287  					return
   288  				}
   289  			}
   290  		default:
   291  			bts, err = msgp.Skip(bts)
   292  			if err != nil {
   293  				err = msgp.WrapError(err)
   294  				return
   295  			}
   296  		}
   297  	}
   298  	o = bts
   299  	return
   300  }
   301  
   302  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
   303  func (z *xlMetaV2) Msgsize() (s int) {
   304  	s = 1 + 9 + msgp.ArrayHeaderSize
   305  	for za0001 := range z.Versions {
   306  		s += z.Versions[za0001].Msgsize()
   307  	}
   308  	return
   309  }
   310  
   311  // DecodeMsg implements msgp.Decodable
   312  func (z *xlMetaV2DeleteMarker) DecodeMsg(dc *msgp.Reader) (err error) {
   313  	var field []byte
   314  	_ = field
   315  	var zb0001 uint32
   316  	zb0001, err = dc.ReadMapHeader()
   317  	if err != nil {
   318  		err = msgp.WrapError(err)
   319  		return
   320  	}
   321  	for zb0001 > 0 {
   322  		zb0001--
   323  		field, err = dc.ReadMapKeyPtr()
   324  		if err != nil {
   325  			err = msgp.WrapError(err)
   326  			return
   327  		}
   328  		switch msgp.UnsafeString(field) {
   329  		case "ID":
   330  			err = dc.ReadExactBytes((z.VersionID)[:])
   331  			if err != nil {
   332  				err = msgp.WrapError(err, "VersionID")
   333  				return
   334  			}
   335  		case "MTime":
   336  			z.ModTime, err = dc.ReadInt64()
   337  			if err != nil {
   338  				err = msgp.WrapError(err, "ModTime")
   339  				return
   340  			}
   341  		case "MetaSys":
   342  			var zb0002 uint32
   343  			zb0002, err = dc.ReadMapHeader()
   344  			if err != nil {
   345  				err = msgp.WrapError(err, "MetaSys")
   346  				return
   347  			}
   348  			if z.MetaSys == nil {
   349  				z.MetaSys = make(map[string][]byte, zb0002)
   350  			} else if len(z.MetaSys) > 0 {
   351  				for key := range z.MetaSys {
   352  					delete(z.MetaSys, key)
   353  				}
   354  			}
   355  			for zb0002 > 0 {
   356  				zb0002--
   357  				var za0002 string
   358  				var za0003 []byte
   359  				za0002, err = dc.ReadString()
   360  				if err != nil {
   361  					err = msgp.WrapError(err, "MetaSys")
   362  					return
   363  				}
   364  				za0003, err = dc.ReadBytes(za0003)
   365  				if err != nil {
   366  					err = msgp.WrapError(err, "MetaSys", za0002)
   367  					return
   368  				}
   369  				z.MetaSys[za0002] = za0003
   370  			}
   371  		default:
   372  			err = dc.Skip()
   373  			if err != nil {
   374  				err = msgp.WrapError(err)
   375  				return
   376  			}
   377  		}
   378  	}
   379  	return
   380  }
   381  
   382  // EncodeMsg implements msgp.Encodable
   383  func (z *xlMetaV2DeleteMarker) EncodeMsg(en *msgp.Writer) (err error) {
   384  	// omitempty: check for empty values
   385  	zb0001Len := uint32(3)
   386  	var zb0001Mask uint8 /* 3 bits */
   387  	if z.MetaSys == nil {
   388  		zb0001Len--
   389  		zb0001Mask |= 0x4
   390  	}
   391  	// variable map header, size zb0001Len
   392  	err = en.Append(0x80 | uint8(zb0001Len))
   393  	if err != nil {
   394  		return
   395  	}
   396  	if zb0001Len == 0 {
   397  		return
   398  	}
   399  	// write "ID"
   400  	err = en.Append(0xa2, 0x49, 0x44)
   401  	if err != nil {
   402  		return
   403  	}
   404  	err = en.WriteBytes((z.VersionID)[:])
   405  	if err != nil {
   406  		err = msgp.WrapError(err, "VersionID")
   407  		return
   408  	}
   409  	// write "MTime"
   410  	err = en.Append(0xa5, 0x4d, 0x54, 0x69, 0x6d, 0x65)
   411  	if err != nil {
   412  		return
   413  	}
   414  	err = en.WriteInt64(z.ModTime)
   415  	if err != nil {
   416  		err = msgp.WrapError(err, "ModTime")
   417  		return
   418  	}
   419  	if (zb0001Mask & 0x4) == 0 { // if not empty
   420  		// write "MetaSys"
   421  		err = en.Append(0xa7, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x79, 0x73)
   422  		if err != nil {
   423  			return
   424  		}
   425  		err = en.WriteMapHeader(uint32(len(z.MetaSys)))
   426  		if err != nil {
   427  			err = msgp.WrapError(err, "MetaSys")
   428  			return
   429  		}
   430  		for za0002, za0003 := range z.MetaSys {
   431  			err = en.WriteString(za0002)
   432  			if err != nil {
   433  				err = msgp.WrapError(err, "MetaSys")
   434  				return
   435  			}
   436  			err = en.WriteBytes(za0003)
   437  			if err != nil {
   438  				err = msgp.WrapError(err, "MetaSys", za0002)
   439  				return
   440  			}
   441  		}
   442  	}
   443  	return
   444  }
   445  
   446  // MarshalMsg implements msgp.Marshaler
   447  func (z *xlMetaV2DeleteMarker) MarshalMsg(b []byte) (o []byte, err error) {
   448  	o = msgp.Require(b, z.Msgsize())
   449  	// omitempty: check for empty values
   450  	zb0001Len := uint32(3)
   451  	var zb0001Mask uint8 /* 3 bits */
   452  	if z.MetaSys == nil {
   453  		zb0001Len--
   454  		zb0001Mask |= 0x4
   455  	}
   456  	// variable map header, size zb0001Len
   457  	o = append(o, 0x80|uint8(zb0001Len))
   458  	if zb0001Len == 0 {
   459  		return
   460  	}
   461  	// string "ID"
   462  	o = append(o, 0xa2, 0x49, 0x44)
   463  	o = msgp.AppendBytes(o, (z.VersionID)[:])
   464  	// string "MTime"
   465  	o = append(o, 0xa5, 0x4d, 0x54, 0x69, 0x6d, 0x65)
   466  	o = msgp.AppendInt64(o, z.ModTime)
   467  	if (zb0001Mask & 0x4) == 0 { // if not empty
   468  		// string "MetaSys"
   469  		o = append(o, 0xa7, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x79, 0x73)
   470  		o = msgp.AppendMapHeader(o, uint32(len(z.MetaSys)))
   471  		for za0002, za0003 := range z.MetaSys {
   472  			o = msgp.AppendString(o, za0002)
   473  			o = msgp.AppendBytes(o, za0003)
   474  		}
   475  	}
   476  	return
   477  }
   478  
   479  // UnmarshalMsg implements msgp.Unmarshaler
   480  func (z *xlMetaV2DeleteMarker) UnmarshalMsg(bts []byte) (o []byte, err error) {
   481  	var field []byte
   482  	_ = field
   483  	var zb0001 uint32
   484  	zb0001, bts, err = msgp.ReadMapHeaderBytes(bts)
   485  	if err != nil {
   486  		err = msgp.WrapError(err)
   487  		return
   488  	}
   489  	for zb0001 > 0 {
   490  		zb0001--
   491  		field, bts, err = msgp.ReadMapKeyZC(bts)
   492  		if err != nil {
   493  			err = msgp.WrapError(err)
   494  			return
   495  		}
   496  		switch msgp.UnsafeString(field) {
   497  		case "ID":
   498  			bts, err = msgp.ReadExactBytes(bts, (z.VersionID)[:])
   499  			if err != nil {
   500  				err = msgp.WrapError(err, "VersionID")
   501  				return
   502  			}
   503  		case "MTime":
   504  			z.ModTime, bts, err = msgp.ReadInt64Bytes(bts)
   505  			if err != nil {
   506  				err = msgp.WrapError(err, "ModTime")
   507  				return
   508  			}
   509  		case "MetaSys":
   510  			var zb0002 uint32
   511  			zb0002, bts, err = msgp.ReadMapHeaderBytes(bts)
   512  			if err != nil {
   513  				err = msgp.WrapError(err, "MetaSys")
   514  				return
   515  			}
   516  			if z.MetaSys == nil {
   517  				z.MetaSys = make(map[string][]byte, zb0002)
   518  			} else if len(z.MetaSys) > 0 {
   519  				for key := range z.MetaSys {
   520  					delete(z.MetaSys, key)
   521  				}
   522  			}
   523  			for zb0002 > 0 {
   524  				var za0002 string
   525  				var za0003 []byte
   526  				zb0002--
   527  				za0002, bts, err = msgp.ReadStringBytes(bts)
   528  				if err != nil {
   529  					err = msgp.WrapError(err, "MetaSys")
   530  					return
   531  				}
   532  				za0003, bts, err = msgp.ReadBytesBytes(bts, za0003)
   533  				if err != nil {
   534  					err = msgp.WrapError(err, "MetaSys", za0002)
   535  					return
   536  				}
   537  				z.MetaSys[za0002] = za0003
   538  			}
   539  		default:
   540  			bts, err = msgp.Skip(bts)
   541  			if err != nil {
   542  				err = msgp.WrapError(err)
   543  				return
   544  			}
   545  		}
   546  	}
   547  	o = bts
   548  	return
   549  }
   550  
   551  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
   552  func (z *xlMetaV2DeleteMarker) Msgsize() (s int) {
   553  	s = 1 + 3 + msgp.ArrayHeaderSize + (16 * (msgp.ByteSize)) + 6 + msgp.Int64Size + 8 + msgp.MapHeaderSize
   554  	if z.MetaSys != nil {
   555  		for za0002, za0003 := range z.MetaSys {
   556  			_ = za0003
   557  			s += msgp.StringPrefixSize + len(za0002) + msgp.BytesPrefixSize + len(za0003)
   558  		}
   559  	}
   560  	return
   561  }
   562  
   563  // DecodeMsg implements msgp.Decodable
   564  func (z *xlMetaV2Object) DecodeMsg(dc *msgp.Reader) (err error) {
   565  	var field []byte
   566  	_ = field
   567  	var zb0001 uint32
   568  	zb0001, err = dc.ReadMapHeader()
   569  	if err != nil {
   570  		err = msgp.WrapError(err)
   571  		return
   572  	}
   573  	for zb0001 > 0 {
   574  		zb0001--
   575  		field, err = dc.ReadMapKeyPtr()
   576  		if err != nil {
   577  			err = msgp.WrapError(err)
   578  			return
   579  		}
   580  		switch msgp.UnsafeString(field) {
   581  		case "ID":
   582  			err = dc.ReadExactBytes((z.VersionID)[:])
   583  			if err != nil {
   584  				err = msgp.WrapError(err, "VersionID")
   585  				return
   586  			}
   587  		case "DDir":
   588  			err = dc.ReadExactBytes((z.DataDir)[:])
   589  			if err != nil {
   590  				err = msgp.WrapError(err, "DataDir")
   591  				return
   592  			}
   593  		case "EcAlgo":
   594  			{
   595  				var zb0002 uint8
   596  				zb0002, err = dc.ReadUint8()
   597  				if err != nil {
   598  					err = msgp.WrapError(err, "ErasureAlgorithm")
   599  					return
   600  				}
   601  				z.ErasureAlgorithm = ErasureAlgo(zb0002)
   602  			}
   603  		case "EcM":
   604  			z.ErasureM, err = dc.ReadInt()
   605  			if err != nil {
   606  				err = msgp.WrapError(err, "ErasureM")
   607  				return
   608  			}
   609  		case "EcN":
   610  			z.ErasureN, err = dc.ReadInt()
   611  			if err != nil {
   612  				err = msgp.WrapError(err, "ErasureN")
   613  				return
   614  			}
   615  		case "EcBSize":
   616  			z.ErasureBlockSize, err = dc.ReadInt64()
   617  			if err != nil {
   618  				err = msgp.WrapError(err, "ErasureBlockSize")
   619  				return
   620  			}
   621  		case "EcIndex":
   622  			z.ErasureIndex, err = dc.ReadInt()
   623  			if err != nil {
   624  				err = msgp.WrapError(err, "ErasureIndex")
   625  				return
   626  			}
   627  		case "EcDist":
   628  			var zb0003 uint32
   629  			zb0003, err = dc.ReadArrayHeader()
   630  			if err != nil {
   631  				err = msgp.WrapError(err, "ErasureDist")
   632  				return
   633  			}
   634  			if cap(z.ErasureDist) >= int(zb0003) {
   635  				z.ErasureDist = (z.ErasureDist)[:zb0003]
   636  			} else {
   637  				z.ErasureDist = make([]uint8, zb0003)
   638  			}
   639  			for za0003 := range z.ErasureDist {
   640  				z.ErasureDist[za0003], err = dc.ReadUint8()
   641  				if err != nil {
   642  					err = msgp.WrapError(err, "ErasureDist", za0003)
   643  					return
   644  				}
   645  			}
   646  		case "CSumAlgo":
   647  			{
   648  				var zb0004 uint8
   649  				zb0004, err = dc.ReadUint8()
   650  				if err != nil {
   651  					err = msgp.WrapError(err, "BitrotChecksumAlgo")
   652  					return
   653  				}
   654  				z.BitrotChecksumAlgo = ChecksumAlgo(zb0004)
   655  			}
   656  		case "PartNums":
   657  			var zb0005 uint32
   658  			zb0005, err = dc.ReadArrayHeader()
   659  			if err != nil {
   660  				err = msgp.WrapError(err, "PartNumbers")
   661  				return
   662  			}
   663  			if cap(z.PartNumbers) >= int(zb0005) {
   664  				z.PartNumbers = (z.PartNumbers)[:zb0005]
   665  			} else {
   666  				z.PartNumbers = make([]int, zb0005)
   667  			}
   668  			for za0004 := range z.PartNumbers {
   669  				z.PartNumbers[za0004], err = dc.ReadInt()
   670  				if err != nil {
   671  					err = msgp.WrapError(err, "PartNumbers", za0004)
   672  					return
   673  				}
   674  			}
   675  		case "PartETags":
   676  			var zb0006 uint32
   677  			zb0006, err = dc.ReadArrayHeader()
   678  			if err != nil {
   679  				err = msgp.WrapError(err, "PartETags")
   680  				return
   681  			}
   682  			if cap(z.PartETags) >= int(zb0006) {
   683  				z.PartETags = (z.PartETags)[:zb0006]
   684  			} else {
   685  				z.PartETags = make([]string, zb0006)
   686  			}
   687  			for za0005 := range z.PartETags {
   688  				z.PartETags[za0005], err = dc.ReadString()
   689  				if err != nil {
   690  					err = msgp.WrapError(err, "PartETags", za0005)
   691  					return
   692  				}
   693  			}
   694  		case "PartSizes":
   695  			var zb0007 uint32
   696  			zb0007, err = dc.ReadArrayHeader()
   697  			if err != nil {
   698  				err = msgp.WrapError(err, "PartSizes")
   699  				return
   700  			}
   701  			if cap(z.PartSizes) >= int(zb0007) {
   702  				z.PartSizes = (z.PartSizes)[:zb0007]
   703  			} else {
   704  				z.PartSizes = make([]int64, zb0007)
   705  			}
   706  			for za0006 := range z.PartSizes {
   707  				z.PartSizes[za0006], err = dc.ReadInt64()
   708  				if err != nil {
   709  					err = msgp.WrapError(err, "PartSizes", za0006)
   710  					return
   711  				}
   712  			}
   713  		case "PartASizes":
   714  			var zb0008 uint32
   715  			zb0008, err = dc.ReadArrayHeader()
   716  			if err != nil {
   717  				err = msgp.WrapError(err, "PartActualSizes")
   718  				return
   719  			}
   720  			if cap(z.PartActualSizes) >= int(zb0008) {
   721  				z.PartActualSizes = (z.PartActualSizes)[:zb0008]
   722  			} else {
   723  				z.PartActualSizes = make([]int64, zb0008)
   724  			}
   725  			for za0007 := range z.PartActualSizes {
   726  				z.PartActualSizes[za0007], err = dc.ReadInt64()
   727  				if err != nil {
   728  					err = msgp.WrapError(err, "PartActualSizes", za0007)
   729  					return
   730  				}
   731  			}
   732  		case "Size":
   733  			z.Size, err = dc.ReadInt64()
   734  			if err != nil {
   735  				err = msgp.WrapError(err, "Size")
   736  				return
   737  			}
   738  		case "MTime":
   739  			z.ModTime, err = dc.ReadInt64()
   740  			if err != nil {
   741  				err = msgp.WrapError(err, "ModTime")
   742  				return
   743  			}
   744  		case "MetaSys":
   745  			var zb0009 uint32
   746  			zb0009, err = dc.ReadMapHeader()
   747  			if err != nil {
   748  				err = msgp.WrapError(err, "MetaSys")
   749  				return
   750  			}
   751  			if z.MetaSys == nil {
   752  				z.MetaSys = make(map[string][]byte, zb0009)
   753  			} else if len(z.MetaSys) > 0 {
   754  				for key := range z.MetaSys {
   755  					delete(z.MetaSys, key)
   756  				}
   757  			}
   758  			for zb0009 > 0 {
   759  				zb0009--
   760  				var za0008 string
   761  				var za0009 []byte
   762  				za0008, err = dc.ReadString()
   763  				if err != nil {
   764  					err = msgp.WrapError(err, "MetaSys")
   765  					return
   766  				}
   767  				za0009, err = dc.ReadBytes(za0009)
   768  				if err != nil {
   769  					err = msgp.WrapError(err, "MetaSys", za0008)
   770  					return
   771  				}
   772  				z.MetaSys[za0008] = za0009
   773  			}
   774  		case "MetaUsr":
   775  			var zb0010 uint32
   776  			zb0010, err = dc.ReadMapHeader()
   777  			if err != nil {
   778  				err = msgp.WrapError(err, "MetaUser")
   779  				return
   780  			}
   781  			if z.MetaUser == nil {
   782  				z.MetaUser = make(map[string]string, zb0010)
   783  			} else if len(z.MetaUser) > 0 {
   784  				for key := range z.MetaUser {
   785  					delete(z.MetaUser, key)
   786  				}
   787  			}
   788  			for zb0010 > 0 {
   789  				zb0010--
   790  				var za0010 string
   791  				var za0011 string
   792  				za0010, err = dc.ReadString()
   793  				if err != nil {
   794  					err = msgp.WrapError(err, "MetaUser")
   795  					return
   796  				}
   797  				za0011, err = dc.ReadString()
   798  				if err != nil {
   799  					err = msgp.WrapError(err, "MetaUser", za0010)
   800  					return
   801  				}
   802  				z.MetaUser[za0010] = za0011
   803  			}
   804  		default:
   805  			err = dc.Skip()
   806  			if err != nil {
   807  				err = msgp.WrapError(err)
   808  				return
   809  			}
   810  		}
   811  	}
   812  	return
   813  }
   814  
   815  // EncodeMsg implements msgp.Encodable
   816  func (z *xlMetaV2Object) EncodeMsg(en *msgp.Writer) (err error) {
   817  	// omitempty: check for empty values
   818  	zb0001Len := uint32(17)
   819  	var zb0001Mask uint32 /* 17 bits */
   820  	if z.PartActualSizes == nil {
   821  		zb0001Len--
   822  		zb0001Mask |= 0x1000
   823  	}
   824  	if z.MetaSys == nil {
   825  		zb0001Len--
   826  		zb0001Mask |= 0x8000
   827  	}
   828  	if z.MetaUser == nil {
   829  		zb0001Len--
   830  		zb0001Mask |= 0x10000
   831  	}
   832  	// variable map header, size zb0001Len
   833  	err = en.WriteMapHeader(zb0001Len)
   834  	if err != nil {
   835  		return
   836  	}
   837  	if zb0001Len == 0 {
   838  		return
   839  	}
   840  	// write "ID"
   841  	err = en.Append(0xa2, 0x49, 0x44)
   842  	if err != nil {
   843  		return
   844  	}
   845  	err = en.WriteBytes((z.VersionID)[:])
   846  	if err != nil {
   847  		err = msgp.WrapError(err, "VersionID")
   848  		return
   849  	}
   850  	// write "DDir"
   851  	err = en.Append(0xa4, 0x44, 0x44, 0x69, 0x72)
   852  	if err != nil {
   853  		return
   854  	}
   855  	err = en.WriteBytes((z.DataDir)[:])
   856  	if err != nil {
   857  		err = msgp.WrapError(err, "DataDir")
   858  		return
   859  	}
   860  	// write "EcAlgo"
   861  	err = en.Append(0xa6, 0x45, 0x63, 0x41, 0x6c, 0x67, 0x6f)
   862  	if err != nil {
   863  		return
   864  	}
   865  	err = en.WriteUint8(uint8(z.ErasureAlgorithm))
   866  	if err != nil {
   867  		err = msgp.WrapError(err, "ErasureAlgorithm")
   868  		return
   869  	}
   870  	// write "EcM"
   871  	err = en.Append(0xa3, 0x45, 0x63, 0x4d)
   872  	if err != nil {
   873  		return
   874  	}
   875  	err = en.WriteInt(z.ErasureM)
   876  	if err != nil {
   877  		err = msgp.WrapError(err, "ErasureM")
   878  		return
   879  	}
   880  	// write "EcN"
   881  	err = en.Append(0xa3, 0x45, 0x63, 0x4e)
   882  	if err != nil {
   883  		return
   884  	}
   885  	err = en.WriteInt(z.ErasureN)
   886  	if err != nil {
   887  		err = msgp.WrapError(err, "ErasureN")
   888  		return
   889  	}
   890  	// write "EcBSize"
   891  	err = en.Append(0xa7, 0x45, 0x63, 0x42, 0x53, 0x69, 0x7a, 0x65)
   892  	if err != nil {
   893  		return
   894  	}
   895  	err = en.WriteInt64(z.ErasureBlockSize)
   896  	if err != nil {
   897  		err = msgp.WrapError(err, "ErasureBlockSize")
   898  		return
   899  	}
   900  	// write "EcIndex"
   901  	err = en.Append(0xa7, 0x45, 0x63, 0x49, 0x6e, 0x64, 0x65, 0x78)
   902  	if err != nil {
   903  		return
   904  	}
   905  	err = en.WriteInt(z.ErasureIndex)
   906  	if err != nil {
   907  		err = msgp.WrapError(err, "ErasureIndex")
   908  		return
   909  	}
   910  	// write "EcDist"
   911  	err = en.Append(0xa6, 0x45, 0x63, 0x44, 0x69, 0x73, 0x74)
   912  	if err != nil {
   913  		return
   914  	}
   915  	err = en.WriteArrayHeader(uint32(len(z.ErasureDist)))
   916  	if err != nil {
   917  		err = msgp.WrapError(err, "ErasureDist")
   918  		return
   919  	}
   920  	for za0003 := range z.ErasureDist {
   921  		err = en.WriteUint8(z.ErasureDist[za0003])
   922  		if err != nil {
   923  			err = msgp.WrapError(err, "ErasureDist", za0003)
   924  			return
   925  		}
   926  	}
   927  	// write "CSumAlgo"
   928  	err = en.Append(0xa8, 0x43, 0x53, 0x75, 0x6d, 0x41, 0x6c, 0x67, 0x6f)
   929  	if err != nil {
   930  		return
   931  	}
   932  	err = en.WriteUint8(uint8(z.BitrotChecksumAlgo))
   933  	if err != nil {
   934  		err = msgp.WrapError(err, "BitrotChecksumAlgo")
   935  		return
   936  	}
   937  	// write "PartNums"
   938  	err = en.Append(0xa8, 0x50, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x73)
   939  	if err != nil {
   940  		return
   941  	}
   942  	err = en.WriteArrayHeader(uint32(len(z.PartNumbers)))
   943  	if err != nil {
   944  		err = msgp.WrapError(err, "PartNumbers")
   945  		return
   946  	}
   947  	for za0004 := range z.PartNumbers {
   948  		err = en.WriteInt(z.PartNumbers[za0004])
   949  		if err != nil {
   950  			err = msgp.WrapError(err, "PartNumbers", za0004)
   951  			return
   952  		}
   953  	}
   954  	// write "PartETags"
   955  	err = en.Append(0xa9, 0x50, 0x61, 0x72, 0x74, 0x45, 0x54, 0x61, 0x67, 0x73)
   956  	if err != nil {
   957  		return
   958  	}
   959  	err = en.WriteArrayHeader(uint32(len(z.PartETags)))
   960  	if err != nil {
   961  		err = msgp.WrapError(err, "PartETags")
   962  		return
   963  	}
   964  	for za0005 := range z.PartETags {
   965  		err = en.WriteString(z.PartETags[za0005])
   966  		if err != nil {
   967  			err = msgp.WrapError(err, "PartETags", za0005)
   968  			return
   969  		}
   970  	}
   971  	// write "PartSizes"
   972  	err = en.Append(0xa9, 0x50, 0x61, 0x72, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x73)
   973  	if err != nil {
   974  		return
   975  	}
   976  	err = en.WriteArrayHeader(uint32(len(z.PartSizes)))
   977  	if err != nil {
   978  		err = msgp.WrapError(err, "PartSizes")
   979  		return
   980  	}
   981  	for za0006 := range z.PartSizes {
   982  		err = en.WriteInt64(z.PartSizes[za0006])
   983  		if err != nil {
   984  			err = msgp.WrapError(err, "PartSizes", za0006)
   985  			return
   986  		}
   987  	}
   988  	if (zb0001Mask & 0x1000) == 0 { // if not empty
   989  		// write "PartASizes"
   990  		err = en.Append(0xaa, 0x50, 0x61, 0x72, 0x74, 0x41, 0x53, 0x69, 0x7a, 0x65, 0x73)
   991  		if err != nil {
   992  			return
   993  		}
   994  		err = en.WriteArrayHeader(uint32(len(z.PartActualSizes)))
   995  		if err != nil {
   996  			err = msgp.WrapError(err, "PartActualSizes")
   997  			return
   998  		}
   999  		for za0007 := range z.PartActualSizes {
  1000  			err = en.WriteInt64(z.PartActualSizes[za0007])
  1001  			if err != nil {
  1002  				err = msgp.WrapError(err, "PartActualSizes", za0007)
  1003  				return
  1004  			}
  1005  		}
  1006  	}
  1007  	// write "Size"
  1008  	err = en.Append(0xa4, 0x53, 0x69, 0x7a, 0x65)
  1009  	if err != nil {
  1010  		return
  1011  	}
  1012  	err = en.WriteInt64(z.Size)
  1013  	if err != nil {
  1014  		err = msgp.WrapError(err, "Size")
  1015  		return
  1016  	}
  1017  	// write "MTime"
  1018  	err = en.Append(0xa5, 0x4d, 0x54, 0x69, 0x6d, 0x65)
  1019  	if err != nil {
  1020  		return
  1021  	}
  1022  	err = en.WriteInt64(z.ModTime)
  1023  	if err != nil {
  1024  		err = msgp.WrapError(err, "ModTime")
  1025  		return
  1026  	}
  1027  	if (zb0001Mask & 0x8000) == 0 { // if not empty
  1028  		// write "MetaSys"
  1029  		err = en.Append(0xa7, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x79, 0x73)
  1030  		if err != nil {
  1031  			return
  1032  		}
  1033  		err = en.WriteMapHeader(uint32(len(z.MetaSys)))
  1034  		if err != nil {
  1035  			err = msgp.WrapError(err, "MetaSys")
  1036  			return
  1037  		}
  1038  		for za0008, za0009 := range z.MetaSys {
  1039  			err = en.WriteString(za0008)
  1040  			if err != nil {
  1041  				err = msgp.WrapError(err, "MetaSys")
  1042  				return
  1043  			}
  1044  			err = en.WriteBytes(za0009)
  1045  			if err != nil {
  1046  				err = msgp.WrapError(err, "MetaSys", za0008)
  1047  				return
  1048  			}
  1049  		}
  1050  	}
  1051  	if (zb0001Mask & 0x10000) == 0 { // if not empty
  1052  		// write "MetaUsr"
  1053  		err = en.Append(0xa7, 0x4d, 0x65, 0x74, 0x61, 0x55, 0x73, 0x72)
  1054  		if err != nil {
  1055  			return
  1056  		}
  1057  		err = en.WriteMapHeader(uint32(len(z.MetaUser)))
  1058  		if err != nil {
  1059  			err = msgp.WrapError(err, "MetaUser")
  1060  			return
  1061  		}
  1062  		for za0010, za0011 := range z.MetaUser {
  1063  			err = en.WriteString(za0010)
  1064  			if err != nil {
  1065  				err = msgp.WrapError(err, "MetaUser")
  1066  				return
  1067  			}
  1068  			err = en.WriteString(za0011)
  1069  			if err != nil {
  1070  				err = msgp.WrapError(err, "MetaUser", za0010)
  1071  				return
  1072  			}
  1073  		}
  1074  	}
  1075  	return
  1076  }
  1077  
  1078  // MarshalMsg implements msgp.Marshaler
  1079  func (z *xlMetaV2Object) MarshalMsg(b []byte) (o []byte, err error) {
  1080  	o = msgp.Require(b, z.Msgsize())
  1081  	// omitempty: check for empty values
  1082  	zb0001Len := uint32(17)
  1083  	var zb0001Mask uint32 /* 17 bits */
  1084  	if z.PartActualSizes == nil {
  1085  		zb0001Len--
  1086  		zb0001Mask |= 0x1000
  1087  	}
  1088  	if z.MetaSys == nil {
  1089  		zb0001Len--
  1090  		zb0001Mask |= 0x8000
  1091  	}
  1092  	if z.MetaUser == nil {
  1093  		zb0001Len--
  1094  		zb0001Mask |= 0x10000
  1095  	}
  1096  	// variable map header, size zb0001Len
  1097  	o = msgp.AppendMapHeader(o, zb0001Len)
  1098  	if zb0001Len == 0 {
  1099  		return
  1100  	}
  1101  	// string "ID"
  1102  	o = append(o, 0xa2, 0x49, 0x44)
  1103  	o = msgp.AppendBytes(o, (z.VersionID)[:])
  1104  	// string "DDir"
  1105  	o = append(o, 0xa4, 0x44, 0x44, 0x69, 0x72)
  1106  	o = msgp.AppendBytes(o, (z.DataDir)[:])
  1107  	// string "EcAlgo"
  1108  	o = append(o, 0xa6, 0x45, 0x63, 0x41, 0x6c, 0x67, 0x6f)
  1109  	o = msgp.AppendUint8(o, uint8(z.ErasureAlgorithm))
  1110  	// string "EcM"
  1111  	o = append(o, 0xa3, 0x45, 0x63, 0x4d)
  1112  	o = msgp.AppendInt(o, z.ErasureM)
  1113  	// string "EcN"
  1114  	o = append(o, 0xa3, 0x45, 0x63, 0x4e)
  1115  	o = msgp.AppendInt(o, z.ErasureN)
  1116  	// string "EcBSize"
  1117  	o = append(o, 0xa7, 0x45, 0x63, 0x42, 0x53, 0x69, 0x7a, 0x65)
  1118  	o = msgp.AppendInt64(o, z.ErasureBlockSize)
  1119  	// string "EcIndex"
  1120  	o = append(o, 0xa7, 0x45, 0x63, 0x49, 0x6e, 0x64, 0x65, 0x78)
  1121  	o = msgp.AppendInt(o, z.ErasureIndex)
  1122  	// string "EcDist"
  1123  	o = append(o, 0xa6, 0x45, 0x63, 0x44, 0x69, 0x73, 0x74)
  1124  	o = msgp.AppendArrayHeader(o, uint32(len(z.ErasureDist)))
  1125  	for za0003 := range z.ErasureDist {
  1126  		o = msgp.AppendUint8(o, z.ErasureDist[za0003])
  1127  	}
  1128  	// string "CSumAlgo"
  1129  	o = append(o, 0xa8, 0x43, 0x53, 0x75, 0x6d, 0x41, 0x6c, 0x67, 0x6f)
  1130  	o = msgp.AppendUint8(o, uint8(z.BitrotChecksumAlgo))
  1131  	// string "PartNums"
  1132  	o = append(o, 0xa8, 0x50, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x73)
  1133  	o = msgp.AppendArrayHeader(o, uint32(len(z.PartNumbers)))
  1134  	for za0004 := range z.PartNumbers {
  1135  		o = msgp.AppendInt(o, z.PartNumbers[za0004])
  1136  	}
  1137  	// string "PartETags"
  1138  	o = append(o, 0xa9, 0x50, 0x61, 0x72, 0x74, 0x45, 0x54, 0x61, 0x67, 0x73)
  1139  	o = msgp.AppendArrayHeader(o, uint32(len(z.PartETags)))
  1140  	for za0005 := range z.PartETags {
  1141  		o = msgp.AppendString(o, z.PartETags[za0005])
  1142  	}
  1143  	// string "PartSizes"
  1144  	o = append(o, 0xa9, 0x50, 0x61, 0x72, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x73)
  1145  	o = msgp.AppendArrayHeader(o, uint32(len(z.PartSizes)))
  1146  	for za0006 := range z.PartSizes {
  1147  		o = msgp.AppendInt64(o, z.PartSizes[za0006])
  1148  	}
  1149  	if (zb0001Mask & 0x1000) == 0 { // if not empty
  1150  		// string "PartASizes"
  1151  		o = append(o, 0xaa, 0x50, 0x61, 0x72, 0x74, 0x41, 0x53, 0x69, 0x7a, 0x65, 0x73)
  1152  		o = msgp.AppendArrayHeader(o, uint32(len(z.PartActualSizes)))
  1153  		for za0007 := range z.PartActualSizes {
  1154  			o = msgp.AppendInt64(o, z.PartActualSizes[za0007])
  1155  		}
  1156  	}
  1157  	// string "Size"
  1158  	o = append(o, 0xa4, 0x53, 0x69, 0x7a, 0x65)
  1159  	o = msgp.AppendInt64(o, z.Size)
  1160  	// string "MTime"
  1161  	o = append(o, 0xa5, 0x4d, 0x54, 0x69, 0x6d, 0x65)
  1162  	o = msgp.AppendInt64(o, z.ModTime)
  1163  	if (zb0001Mask & 0x8000) == 0 { // if not empty
  1164  		// string "MetaSys"
  1165  		o = append(o, 0xa7, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x79, 0x73)
  1166  		o = msgp.AppendMapHeader(o, uint32(len(z.MetaSys)))
  1167  		for za0008, za0009 := range z.MetaSys {
  1168  			o = msgp.AppendString(o, za0008)
  1169  			o = msgp.AppendBytes(o, za0009)
  1170  		}
  1171  	}
  1172  	if (zb0001Mask & 0x10000) == 0 { // if not empty
  1173  		// string "MetaUsr"
  1174  		o = append(o, 0xa7, 0x4d, 0x65, 0x74, 0x61, 0x55, 0x73, 0x72)
  1175  		o = msgp.AppendMapHeader(o, uint32(len(z.MetaUser)))
  1176  		for za0010, za0011 := range z.MetaUser {
  1177  			o = msgp.AppendString(o, za0010)
  1178  			o = msgp.AppendString(o, za0011)
  1179  		}
  1180  	}
  1181  	return
  1182  }
  1183  
  1184  // UnmarshalMsg implements msgp.Unmarshaler
  1185  func (z *xlMetaV2Object) UnmarshalMsg(bts []byte) (o []byte, err error) {
  1186  	var field []byte
  1187  	_ = field
  1188  	var zb0001 uint32
  1189  	zb0001, bts, err = msgp.ReadMapHeaderBytes(bts)
  1190  	if err != nil {
  1191  		err = msgp.WrapError(err)
  1192  		return
  1193  	}
  1194  	for zb0001 > 0 {
  1195  		zb0001--
  1196  		field, bts, err = msgp.ReadMapKeyZC(bts)
  1197  		if err != nil {
  1198  			err = msgp.WrapError(err)
  1199  			return
  1200  		}
  1201  		switch msgp.UnsafeString(field) {
  1202  		case "ID":
  1203  			bts, err = msgp.ReadExactBytes(bts, (z.VersionID)[:])
  1204  			if err != nil {
  1205  				err = msgp.WrapError(err, "VersionID")
  1206  				return
  1207  			}
  1208  		case "DDir":
  1209  			bts, err = msgp.ReadExactBytes(bts, (z.DataDir)[:])
  1210  			if err != nil {
  1211  				err = msgp.WrapError(err, "DataDir")
  1212  				return
  1213  			}
  1214  		case "EcAlgo":
  1215  			{
  1216  				var zb0002 uint8
  1217  				zb0002, bts, err = msgp.ReadUint8Bytes(bts)
  1218  				if err != nil {
  1219  					err = msgp.WrapError(err, "ErasureAlgorithm")
  1220  					return
  1221  				}
  1222  				z.ErasureAlgorithm = ErasureAlgo(zb0002)
  1223  			}
  1224  		case "EcM":
  1225  			z.ErasureM, bts, err = msgp.ReadIntBytes(bts)
  1226  			if err != nil {
  1227  				err = msgp.WrapError(err, "ErasureM")
  1228  				return
  1229  			}
  1230  		case "EcN":
  1231  			z.ErasureN, bts, err = msgp.ReadIntBytes(bts)
  1232  			if err != nil {
  1233  				err = msgp.WrapError(err, "ErasureN")
  1234  				return
  1235  			}
  1236  		case "EcBSize":
  1237  			z.ErasureBlockSize, bts, err = msgp.ReadInt64Bytes(bts)
  1238  			if err != nil {
  1239  				err = msgp.WrapError(err, "ErasureBlockSize")
  1240  				return
  1241  			}
  1242  		case "EcIndex":
  1243  			z.ErasureIndex, bts, err = msgp.ReadIntBytes(bts)
  1244  			if err != nil {
  1245  				err = msgp.WrapError(err, "ErasureIndex")
  1246  				return
  1247  			}
  1248  		case "EcDist":
  1249  			var zb0003 uint32
  1250  			zb0003, bts, err = msgp.ReadArrayHeaderBytes(bts)
  1251  			if err != nil {
  1252  				err = msgp.WrapError(err, "ErasureDist")
  1253  				return
  1254  			}
  1255  			if cap(z.ErasureDist) >= int(zb0003) {
  1256  				z.ErasureDist = (z.ErasureDist)[:zb0003]
  1257  			} else {
  1258  				z.ErasureDist = make([]uint8, zb0003)
  1259  			}
  1260  			for za0003 := range z.ErasureDist {
  1261  				z.ErasureDist[za0003], bts, err = msgp.ReadUint8Bytes(bts)
  1262  				if err != nil {
  1263  					err = msgp.WrapError(err, "ErasureDist", za0003)
  1264  					return
  1265  				}
  1266  			}
  1267  		case "CSumAlgo":
  1268  			{
  1269  				var zb0004 uint8
  1270  				zb0004, bts, err = msgp.ReadUint8Bytes(bts)
  1271  				if err != nil {
  1272  					err = msgp.WrapError(err, "BitrotChecksumAlgo")
  1273  					return
  1274  				}
  1275  				z.BitrotChecksumAlgo = ChecksumAlgo(zb0004)
  1276  			}
  1277  		case "PartNums":
  1278  			var zb0005 uint32
  1279  			zb0005, bts, err = msgp.ReadArrayHeaderBytes(bts)
  1280  			if err != nil {
  1281  				err = msgp.WrapError(err, "PartNumbers")
  1282  				return
  1283  			}
  1284  			if cap(z.PartNumbers) >= int(zb0005) {
  1285  				z.PartNumbers = (z.PartNumbers)[:zb0005]
  1286  			} else {
  1287  				z.PartNumbers = make([]int, zb0005)
  1288  			}
  1289  			for za0004 := range z.PartNumbers {
  1290  				z.PartNumbers[za0004], bts, err = msgp.ReadIntBytes(bts)
  1291  				if err != nil {
  1292  					err = msgp.WrapError(err, "PartNumbers", za0004)
  1293  					return
  1294  				}
  1295  			}
  1296  		case "PartETags":
  1297  			var zb0006 uint32
  1298  			zb0006, bts, err = msgp.ReadArrayHeaderBytes(bts)
  1299  			if err != nil {
  1300  				err = msgp.WrapError(err, "PartETags")
  1301  				return
  1302  			}
  1303  			if cap(z.PartETags) >= int(zb0006) {
  1304  				z.PartETags = (z.PartETags)[:zb0006]
  1305  			} else {
  1306  				z.PartETags = make([]string, zb0006)
  1307  			}
  1308  			for za0005 := range z.PartETags {
  1309  				z.PartETags[za0005], bts, err = msgp.ReadStringBytes(bts)
  1310  				if err != nil {
  1311  					err = msgp.WrapError(err, "PartETags", za0005)
  1312  					return
  1313  				}
  1314  			}
  1315  		case "PartSizes":
  1316  			var zb0007 uint32
  1317  			zb0007, bts, err = msgp.ReadArrayHeaderBytes(bts)
  1318  			if err != nil {
  1319  				err = msgp.WrapError(err, "PartSizes")
  1320  				return
  1321  			}
  1322  			if cap(z.PartSizes) >= int(zb0007) {
  1323  				z.PartSizes = (z.PartSizes)[:zb0007]
  1324  			} else {
  1325  				z.PartSizes = make([]int64, zb0007)
  1326  			}
  1327  			for za0006 := range z.PartSizes {
  1328  				z.PartSizes[za0006], bts, err = msgp.ReadInt64Bytes(bts)
  1329  				if err != nil {
  1330  					err = msgp.WrapError(err, "PartSizes", za0006)
  1331  					return
  1332  				}
  1333  			}
  1334  		case "PartASizes":
  1335  			var zb0008 uint32
  1336  			zb0008, bts, err = msgp.ReadArrayHeaderBytes(bts)
  1337  			if err != nil {
  1338  				err = msgp.WrapError(err, "PartActualSizes")
  1339  				return
  1340  			}
  1341  			if cap(z.PartActualSizes) >= int(zb0008) {
  1342  				z.PartActualSizes = (z.PartActualSizes)[:zb0008]
  1343  			} else {
  1344  				z.PartActualSizes = make([]int64, zb0008)
  1345  			}
  1346  			for za0007 := range z.PartActualSizes {
  1347  				z.PartActualSizes[za0007], bts, err = msgp.ReadInt64Bytes(bts)
  1348  				if err != nil {
  1349  					err = msgp.WrapError(err, "PartActualSizes", za0007)
  1350  					return
  1351  				}
  1352  			}
  1353  		case "Size":
  1354  			z.Size, bts, err = msgp.ReadInt64Bytes(bts)
  1355  			if err != nil {
  1356  				err = msgp.WrapError(err, "Size")
  1357  				return
  1358  			}
  1359  		case "MTime":
  1360  			z.ModTime, bts, err = msgp.ReadInt64Bytes(bts)
  1361  			if err != nil {
  1362  				err = msgp.WrapError(err, "ModTime")
  1363  				return
  1364  			}
  1365  		case "MetaSys":
  1366  			var zb0009 uint32
  1367  			zb0009, bts, err = msgp.ReadMapHeaderBytes(bts)
  1368  			if err != nil {
  1369  				err = msgp.WrapError(err, "MetaSys")
  1370  				return
  1371  			}
  1372  			if z.MetaSys == nil {
  1373  				z.MetaSys = make(map[string][]byte, zb0009)
  1374  			} else if len(z.MetaSys) > 0 {
  1375  				for key := range z.MetaSys {
  1376  					delete(z.MetaSys, key)
  1377  				}
  1378  			}
  1379  			for zb0009 > 0 {
  1380  				var za0008 string
  1381  				var za0009 []byte
  1382  				zb0009--
  1383  				za0008, bts, err = msgp.ReadStringBytes(bts)
  1384  				if err != nil {
  1385  					err = msgp.WrapError(err, "MetaSys")
  1386  					return
  1387  				}
  1388  				za0009, bts, err = msgp.ReadBytesBytes(bts, za0009)
  1389  				if err != nil {
  1390  					err = msgp.WrapError(err, "MetaSys", za0008)
  1391  					return
  1392  				}
  1393  				z.MetaSys[za0008] = za0009
  1394  			}
  1395  		case "MetaUsr":
  1396  			var zb0010 uint32
  1397  			zb0010, bts, err = msgp.ReadMapHeaderBytes(bts)
  1398  			if err != nil {
  1399  				err = msgp.WrapError(err, "MetaUser")
  1400  				return
  1401  			}
  1402  			if z.MetaUser == nil {
  1403  				z.MetaUser = make(map[string]string, zb0010)
  1404  			} else if len(z.MetaUser) > 0 {
  1405  				for key := range z.MetaUser {
  1406  					delete(z.MetaUser, key)
  1407  				}
  1408  			}
  1409  			for zb0010 > 0 {
  1410  				var za0010 string
  1411  				var za0011 string
  1412  				zb0010--
  1413  				za0010, bts, err = msgp.ReadStringBytes(bts)
  1414  				if err != nil {
  1415  					err = msgp.WrapError(err, "MetaUser")
  1416  					return
  1417  				}
  1418  				za0011, bts, err = msgp.ReadStringBytes(bts)
  1419  				if err != nil {
  1420  					err = msgp.WrapError(err, "MetaUser", za0010)
  1421  					return
  1422  				}
  1423  				z.MetaUser[za0010] = za0011
  1424  			}
  1425  		default:
  1426  			bts, err = msgp.Skip(bts)
  1427  			if err != nil {
  1428  				err = msgp.WrapError(err)
  1429  				return
  1430  			}
  1431  		}
  1432  	}
  1433  	o = bts
  1434  	return
  1435  }
  1436  
  1437  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
  1438  func (z *xlMetaV2Object) Msgsize() (s int) {
  1439  	s = 3 + 3 + msgp.ArrayHeaderSize + (16 * (msgp.ByteSize)) + 5 + msgp.ArrayHeaderSize + (16 * (msgp.ByteSize)) + 7 + msgp.Uint8Size + 4 + msgp.IntSize + 4 + msgp.IntSize + 8 + msgp.Int64Size + 8 + msgp.IntSize + 7 + msgp.ArrayHeaderSize + (len(z.ErasureDist) * (msgp.Uint8Size)) + 9 + msgp.Uint8Size + 9 + msgp.ArrayHeaderSize + (len(z.PartNumbers) * (msgp.IntSize)) + 10 + msgp.ArrayHeaderSize
  1440  	for za0005 := range z.PartETags {
  1441  		s += msgp.StringPrefixSize + len(z.PartETags[za0005])
  1442  	}
  1443  	s += 10 + msgp.ArrayHeaderSize + (len(z.PartSizes) * (msgp.Int64Size)) + 11 + msgp.ArrayHeaderSize + (len(z.PartActualSizes) * (msgp.Int64Size)) + 5 + msgp.Int64Size + 6 + msgp.Int64Size + 8 + msgp.MapHeaderSize
  1444  	if z.MetaSys != nil {
  1445  		for za0008, za0009 := range z.MetaSys {
  1446  			_ = za0009
  1447  			s += msgp.StringPrefixSize + len(za0008) + msgp.BytesPrefixSize + len(za0009)
  1448  		}
  1449  	}
  1450  	s += 8 + msgp.MapHeaderSize
  1451  	if z.MetaUser != nil {
  1452  		for za0010, za0011 := range z.MetaUser {
  1453  			_ = za0011
  1454  			s += msgp.StringPrefixSize + len(za0010) + msgp.StringPrefixSize + len(za0011)
  1455  		}
  1456  	}
  1457  	return
  1458  }
  1459  
  1460  // DecodeMsg implements msgp.Decodable
  1461  func (z *xlMetaV2Version) DecodeMsg(dc *msgp.Reader) (err error) {
  1462  	var field []byte
  1463  	_ = field
  1464  	var zb0001 uint32
  1465  	zb0001, err = dc.ReadMapHeader()
  1466  	if err != nil {
  1467  		err = msgp.WrapError(err)
  1468  		return
  1469  	}
  1470  	for zb0001 > 0 {
  1471  		zb0001--
  1472  		field, err = dc.ReadMapKeyPtr()
  1473  		if err != nil {
  1474  			err = msgp.WrapError(err)
  1475  			return
  1476  		}
  1477  		switch msgp.UnsafeString(field) {
  1478  		case "Type":
  1479  			{
  1480  				var zb0002 uint8
  1481  				zb0002, err = dc.ReadUint8()
  1482  				if err != nil {
  1483  					err = msgp.WrapError(err, "Type")
  1484  					return
  1485  				}
  1486  				z.Type = VersionType(zb0002)
  1487  			}
  1488  		case "V1Obj":
  1489  			if dc.IsNil() {
  1490  				err = dc.ReadNil()
  1491  				if err != nil {
  1492  					err = msgp.WrapError(err, "ObjectV1")
  1493  					return
  1494  				}
  1495  				z.ObjectV1 = nil
  1496  			} else {
  1497  				if z.ObjectV1 == nil {
  1498  					z.ObjectV1 = new(xlMetaV1Object)
  1499  				}
  1500  				err = z.ObjectV1.DecodeMsg(dc)
  1501  				if err != nil {
  1502  					err = msgp.WrapError(err, "ObjectV1")
  1503  					return
  1504  				}
  1505  			}
  1506  		case "V2Obj":
  1507  			if dc.IsNil() {
  1508  				err = dc.ReadNil()
  1509  				if err != nil {
  1510  					err = msgp.WrapError(err, "ObjectV2")
  1511  					return
  1512  				}
  1513  				z.ObjectV2 = nil
  1514  			} else {
  1515  				if z.ObjectV2 == nil {
  1516  					z.ObjectV2 = new(xlMetaV2Object)
  1517  				}
  1518  				err = z.ObjectV2.DecodeMsg(dc)
  1519  				if err != nil {
  1520  					err = msgp.WrapError(err, "ObjectV2")
  1521  					return
  1522  				}
  1523  			}
  1524  		case "DelObj":
  1525  			if dc.IsNil() {
  1526  				err = dc.ReadNil()
  1527  				if err != nil {
  1528  					err = msgp.WrapError(err, "DeleteMarker")
  1529  					return
  1530  				}
  1531  				z.DeleteMarker = nil
  1532  			} else {
  1533  				if z.DeleteMarker == nil {
  1534  					z.DeleteMarker = new(xlMetaV2DeleteMarker)
  1535  				}
  1536  				err = z.DeleteMarker.DecodeMsg(dc)
  1537  				if err != nil {
  1538  					err = msgp.WrapError(err, "DeleteMarker")
  1539  					return
  1540  				}
  1541  			}
  1542  		default:
  1543  			err = dc.Skip()
  1544  			if err != nil {
  1545  				err = msgp.WrapError(err)
  1546  				return
  1547  			}
  1548  		}
  1549  	}
  1550  	return
  1551  }
  1552  
  1553  // EncodeMsg implements msgp.Encodable
  1554  func (z *xlMetaV2Version) EncodeMsg(en *msgp.Writer) (err error) {
  1555  	// omitempty: check for empty values
  1556  	zb0001Len := uint32(4)
  1557  	var zb0001Mask uint8 /* 4 bits */
  1558  	if z.ObjectV1 == nil {
  1559  		zb0001Len--
  1560  		zb0001Mask |= 0x2
  1561  	}
  1562  	if z.ObjectV2 == nil {
  1563  		zb0001Len--
  1564  		zb0001Mask |= 0x4
  1565  	}
  1566  	if z.DeleteMarker == nil {
  1567  		zb0001Len--
  1568  		zb0001Mask |= 0x8
  1569  	}
  1570  	// variable map header, size zb0001Len
  1571  	err = en.Append(0x80 | uint8(zb0001Len))
  1572  	if err != nil {
  1573  		return
  1574  	}
  1575  	if zb0001Len == 0 {
  1576  		return
  1577  	}
  1578  	// write "Type"
  1579  	err = en.Append(0xa4, 0x54, 0x79, 0x70, 0x65)
  1580  	if err != nil {
  1581  		return
  1582  	}
  1583  	err = en.WriteUint8(uint8(z.Type))
  1584  	if err != nil {
  1585  		err = msgp.WrapError(err, "Type")
  1586  		return
  1587  	}
  1588  	if (zb0001Mask & 0x2) == 0 { // if not empty
  1589  		// write "V1Obj"
  1590  		err = en.Append(0xa5, 0x56, 0x31, 0x4f, 0x62, 0x6a)
  1591  		if err != nil {
  1592  			return
  1593  		}
  1594  		if z.ObjectV1 == nil {
  1595  			err = en.WriteNil()
  1596  			if err != nil {
  1597  				return
  1598  			}
  1599  		} else {
  1600  			err = z.ObjectV1.EncodeMsg(en)
  1601  			if err != nil {
  1602  				err = msgp.WrapError(err, "ObjectV1")
  1603  				return
  1604  			}
  1605  		}
  1606  	}
  1607  	if (zb0001Mask & 0x4) == 0 { // if not empty
  1608  		// write "V2Obj"
  1609  		err = en.Append(0xa5, 0x56, 0x32, 0x4f, 0x62, 0x6a)
  1610  		if err != nil {
  1611  			return
  1612  		}
  1613  		if z.ObjectV2 == nil {
  1614  			err = en.WriteNil()
  1615  			if err != nil {
  1616  				return
  1617  			}
  1618  		} else {
  1619  			err = z.ObjectV2.EncodeMsg(en)
  1620  			if err != nil {
  1621  				err = msgp.WrapError(err, "ObjectV2")
  1622  				return
  1623  			}
  1624  		}
  1625  	}
  1626  	if (zb0001Mask & 0x8) == 0 { // if not empty
  1627  		// write "DelObj"
  1628  		err = en.Append(0xa6, 0x44, 0x65, 0x6c, 0x4f, 0x62, 0x6a)
  1629  		if err != nil {
  1630  			return
  1631  		}
  1632  		if z.DeleteMarker == nil {
  1633  			err = en.WriteNil()
  1634  			if err != nil {
  1635  				return
  1636  			}
  1637  		} else {
  1638  			err = z.DeleteMarker.EncodeMsg(en)
  1639  			if err != nil {
  1640  				err = msgp.WrapError(err, "DeleteMarker")
  1641  				return
  1642  			}
  1643  		}
  1644  	}
  1645  	return
  1646  }
  1647  
  1648  // MarshalMsg implements msgp.Marshaler
  1649  func (z *xlMetaV2Version) MarshalMsg(b []byte) (o []byte, err error) {
  1650  	o = msgp.Require(b, z.Msgsize())
  1651  	// omitempty: check for empty values
  1652  	zb0001Len := uint32(4)
  1653  	var zb0001Mask uint8 /* 4 bits */
  1654  	if z.ObjectV1 == nil {
  1655  		zb0001Len--
  1656  		zb0001Mask |= 0x2
  1657  	}
  1658  	if z.ObjectV2 == nil {
  1659  		zb0001Len--
  1660  		zb0001Mask |= 0x4
  1661  	}
  1662  	if z.DeleteMarker == nil {
  1663  		zb0001Len--
  1664  		zb0001Mask |= 0x8
  1665  	}
  1666  	// variable map header, size zb0001Len
  1667  	o = append(o, 0x80|uint8(zb0001Len))
  1668  	if zb0001Len == 0 {
  1669  		return
  1670  	}
  1671  	// string "Type"
  1672  	o = append(o, 0xa4, 0x54, 0x79, 0x70, 0x65)
  1673  	o = msgp.AppendUint8(o, uint8(z.Type))
  1674  	if (zb0001Mask & 0x2) == 0 { // if not empty
  1675  		// string "V1Obj"
  1676  		o = append(o, 0xa5, 0x56, 0x31, 0x4f, 0x62, 0x6a)
  1677  		if z.ObjectV1 == nil {
  1678  			o = msgp.AppendNil(o)
  1679  		} else {
  1680  			o, err = z.ObjectV1.MarshalMsg(o)
  1681  			if err != nil {
  1682  				err = msgp.WrapError(err, "ObjectV1")
  1683  				return
  1684  			}
  1685  		}
  1686  	}
  1687  	if (zb0001Mask & 0x4) == 0 { // if not empty
  1688  		// string "V2Obj"
  1689  		o = append(o, 0xa5, 0x56, 0x32, 0x4f, 0x62, 0x6a)
  1690  		if z.ObjectV2 == nil {
  1691  			o = msgp.AppendNil(o)
  1692  		} else {
  1693  			o, err = z.ObjectV2.MarshalMsg(o)
  1694  			if err != nil {
  1695  				err = msgp.WrapError(err, "ObjectV2")
  1696  				return
  1697  			}
  1698  		}
  1699  	}
  1700  	if (zb0001Mask & 0x8) == 0 { // if not empty
  1701  		// string "DelObj"
  1702  		o = append(o, 0xa6, 0x44, 0x65, 0x6c, 0x4f, 0x62, 0x6a)
  1703  		if z.DeleteMarker == nil {
  1704  			o = msgp.AppendNil(o)
  1705  		} else {
  1706  			o, err = z.DeleteMarker.MarshalMsg(o)
  1707  			if err != nil {
  1708  				err = msgp.WrapError(err, "DeleteMarker")
  1709  				return
  1710  			}
  1711  		}
  1712  	}
  1713  	return
  1714  }
  1715  
  1716  // UnmarshalMsg implements msgp.Unmarshaler
  1717  func (z *xlMetaV2Version) UnmarshalMsg(bts []byte) (o []byte, err error) {
  1718  	var field []byte
  1719  	_ = field
  1720  	var zb0001 uint32
  1721  	zb0001, bts, err = msgp.ReadMapHeaderBytes(bts)
  1722  	if err != nil {
  1723  		err = msgp.WrapError(err)
  1724  		return
  1725  	}
  1726  	for zb0001 > 0 {
  1727  		zb0001--
  1728  		field, bts, err = msgp.ReadMapKeyZC(bts)
  1729  		if err != nil {
  1730  			err = msgp.WrapError(err)
  1731  			return
  1732  		}
  1733  		switch msgp.UnsafeString(field) {
  1734  		case "Type":
  1735  			{
  1736  				var zb0002 uint8
  1737  				zb0002, bts, err = msgp.ReadUint8Bytes(bts)
  1738  				if err != nil {
  1739  					err = msgp.WrapError(err, "Type")
  1740  					return
  1741  				}
  1742  				z.Type = VersionType(zb0002)
  1743  			}
  1744  		case "V1Obj":
  1745  			if msgp.IsNil(bts) {
  1746  				bts, err = msgp.ReadNilBytes(bts)
  1747  				if err != nil {
  1748  					return
  1749  				}
  1750  				z.ObjectV1 = nil
  1751  			} else {
  1752  				if z.ObjectV1 == nil {
  1753  					z.ObjectV1 = new(xlMetaV1Object)
  1754  				}
  1755  				bts, err = z.ObjectV1.UnmarshalMsg(bts)
  1756  				if err != nil {
  1757  					err = msgp.WrapError(err, "ObjectV1")
  1758  					return
  1759  				}
  1760  			}
  1761  		case "V2Obj":
  1762  			if msgp.IsNil(bts) {
  1763  				bts, err = msgp.ReadNilBytes(bts)
  1764  				if err != nil {
  1765  					return
  1766  				}
  1767  				z.ObjectV2 = nil
  1768  			} else {
  1769  				if z.ObjectV2 == nil {
  1770  					z.ObjectV2 = new(xlMetaV2Object)
  1771  				}
  1772  				bts, err = z.ObjectV2.UnmarshalMsg(bts)
  1773  				if err != nil {
  1774  					err = msgp.WrapError(err, "ObjectV2")
  1775  					return
  1776  				}
  1777  			}
  1778  		case "DelObj":
  1779  			if msgp.IsNil(bts) {
  1780  				bts, err = msgp.ReadNilBytes(bts)
  1781  				if err != nil {
  1782  					return
  1783  				}
  1784  				z.DeleteMarker = nil
  1785  			} else {
  1786  				if z.DeleteMarker == nil {
  1787  					z.DeleteMarker = new(xlMetaV2DeleteMarker)
  1788  				}
  1789  				bts, err = z.DeleteMarker.UnmarshalMsg(bts)
  1790  				if err != nil {
  1791  					err = msgp.WrapError(err, "DeleteMarker")
  1792  					return
  1793  				}
  1794  			}
  1795  		default:
  1796  			bts, err = msgp.Skip(bts)
  1797  			if err != nil {
  1798  				err = msgp.WrapError(err)
  1799  				return
  1800  			}
  1801  		}
  1802  	}
  1803  	o = bts
  1804  	return
  1805  }
  1806  
  1807  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
  1808  func (z *xlMetaV2Version) Msgsize() (s int) {
  1809  	s = 1 + 5 + msgp.Uint8Size + 6
  1810  	if z.ObjectV1 == nil {
  1811  		s += msgp.NilSize
  1812  	} else {
  1813  		s += z.ObjectV1.Msgsize()
  1814  	}
  1815  	s += 6
  1816  	if z.ObjectV2 == nil {
  1817  		s += msgp.NilSize
  1818  	} else {
  1819  		s += z.ObjectV2.Msgsize()
  1820  	}
  1821  	s += 7
  1822  	if z.DeleteMarker == nil {
  1823  		s += msgp.NilSize
  1824  	} else {
  1825  		s += z.DeleteMarker.Msgsize()
  1826  	}
  1827  	return
  1828  }