github.com/devops-filetransfer/sshego@v7.0.4+incompatible/user_gen.go (about) 1 package sshego 2 3 // NOTE: THIS FILE WAS PRODUCED BY THE 4 // GREENPACK CODE GENERATION TOOL (github.com/glycerine/greenpack) 5 // DO NOT EDIT 6 7 import ( 8 "github.com/glycerine/greenpack/msgp" 9 ) 10 11 // DecodeMsg implements msgp.Decodable 12 // We treat empty fields as if we read a Nil from the wire. 13 func (z *HostDb) DecodeMsg(dc *msgp.Reader) (err error) { 14 var sawTopNil bool 15 if dc.IsNil() { 16 sawTopNil = true 17 err = dc.ReadNil() 18 if err != nil { 19 return 20 } 21 dc.PushAlwaysNil() 22 } 23 24 var field []byte 25 _ = field 26 const maxFields0zgensym_189e87a53e58dbf2_1 = 3 27 28 // -- templateDecodeMsg starts here-- 29 var totalEncodedFields0zgensym_189e87a53e58dbf2_1 uint32 30 totalEncodedFields0zgensym_189e87a53e58dbf2_1, err = dc.ReadMapHeader() 31 if err != nil { 32 return 33 } 34 encodedFieldsLeft0zgensym_189e87a53e58dbf2_1 := totalEncodedFields0zgensym_189e87a53e58dbf2_1 35 missingFieldsLeft0zgensym_189e87a53e58dbf2_1 := maxFields0zgensym_189e87a53e58dbf2_1 - totalEncodedFields0zgensym_189e87a53e58dbf2_1 36 37 var nextMiss0zgensym_189e87a53e58dbf2_1 int32 = -1 38 var found0zgensym_189e87a53e58dbf2_1 [maxFields0zgensym_189e87a53e58dbf2_1]bool 39 var curField0zgensym_189e87a53e58dbf2_1 string 40 41 doneWithStruct0zgensym_189e87a53e58dbf2_1: 42 // First fill all the encoded fields, then 43 // treat the remaining, missing fields, as Nil. 44 for encodedFieldsLeft0zgensym_189e87a53e58dbf2_1 > 0 || missingFieldsLeft0zgensym_189e87a53e58dbf2_1 > 0 { 45 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft0zgensym_189e87a53e58dbf2_1, missingFieldsLeft0zgensym_189e87a53e58dbf2_1, msgp.ShowFound(found0zgensym_189e87a53e58dbf2_1[:]), decodeMsgFieldOrder0zgensym_189e87a53e58dbf2_1) 46 if encodedFieldsLeft0zgensym_189e87a53e58dbf2_1 > 0 { 47 encodedFieldsLeft0zgensym_189e87a53e58dbf2_1-- 48 field, err = dc.ReadMapKeyPtr() 49 if err != nil { 50 return 51 } 52 curField0zgensym_189e87a53e58dbf2_1 = msgp.UnsafeString(field) 53 } else { 54 //missing fields need handling 55 if nextMiss0zgensym_189e87a53e58dbf2_1 < 0 { 56 // tell the reader to only give us Nils 57 // until further notice. 58 dc.PushAlwaysNil() 59 nextMiss0zgensym_189e87a53e58dbf2_1 = 0 60 } 61 for nextMiss0zgensym_189e87a53e58dbf2_1 < maxFields0zgensym_189e87a53e58dbf2_1 && (found0zgensym_189e87a53e58dbf2_1[nextMiss0zgensym_189e87a53e58dbf2_1] || decodeMsgFieldSkip0zgensym_189e87a53e58dbf2_1[nextMiss0zgensym_189e87a53e58dbf2_1]) { 62 nextMiss0zgensym_189e87a53e58dbf2_1++ 63 } 64 if nextMiss0zgensym_189e87a53e58dbf2_1 == maxFields0zgensym_189e87a53e58dbf2_1 { 65 // filled all the empty fields! 66 break doneWithStruct0zgensym_189e87a53e58dbf2_1 67 } 68 missingFieldsLeft0zgensym_189e87a53e58dbf2_1-- 69 curField0zgensym_189e87a53e58dbf2_1 = decodeMsgFieldOrder0zgensym_189e87a53e58dbf2_1[nextMiss0zgensym_189e87a53e58dbf2_1] 70 } 71 //fmt.Printf("switching on curField: '%v'\n", curField0zgensym_189e87a53e58dbf2_1) 72 switch curField0zgensym_189e87a53e58dbf2_1 { 73 // -- templateDecodeMsg ends here -- 74 75 case "UserHomePrefix__str": 76 found0zgensym_189e87a53e58dbf2_1[0] = true 77 z.UserHomePrefix, err = dc.ReadString() 78 if err != nil { 79 return 80 } 81 case "Persist__rct": 82 found0zgensym_189e87a53e58dbf2_1[2] = true 83 const maxFields2zgensym_189e87a53e58dbf2_3 = 2 84 85 // -- templateDecodeMsg starts here-- 86 var totalEncodedFields2zgensym_189e87a53e58dbf2_3 uint32 87 totalEncodedFields2zgensym_189e87a53e58dbf2_3, err = dc.ReadMapHeader() 88 if err != nil { 89 return 90 } 91 encodedFieldsLeft2zgensym_189e87a53e58dbf2_3 := totalEncodedFields2zgensym_189e87a53e58dbf2_3 92 missingFieldsLeft2zgensym_189e87a53e58dbf2_3 := maxFields2zgensym_189e87a53e58dbf2_3 - totalEncodedFields2zgensym_189e87a53e58dbf2_3 93 94 var nextMiss2zgensym_189e87a53e58dbf2_3 int32 = -1 95 var found2zgensym_189e87a53e58dbf2_3 [maxFields2zgensym_189e87a53e58dbf2_3]bool 96 var curField2zgensym_189e87a53e58dbf2_3 string 97 98 doneWithStruct2zgensym_189e87a53e58dbf2_3: 99 // First fill all the encoded fields, then 100 // treat the remaining, missing fields, as Nil. 101 for encodedFieldsLeft2zgensym_189e87a53e58dbf2_3 > 0 || missingFieldsLeft2zgensym_189e87a53e58dbf2_3 > 0 { 102 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft2zgensym_189e87a53e58dbf2_3, missingFieldsLeft2zgensym_189e87a53e58dbf2_3, msgp.ShowFound(found2zgensym_189e87a53e58dbf2_3[:]), decodeMsgFieldOrder2zgensym_189e87a53e58dbf2_3) 103 if encodedFieldsLeft2zgensym_189e87a53e58dbf2_3 > 0 { 104 encodedFieldsLeft2zgensym_189e87a53e58dbf2_3-- 105 field, err = dc.ReadMapKeyPtr() 106 if err != nil { 107 return 108 } 109 curField2zgensym_189e87a53e58dbf2_3 = msgp.UnsafeString(field) 110 } else { 111 //missing fields need handling 112 if nextMiss2zgensym_189e87a53e58dbf2_3 < 0 { 113 // tell the reader to only give us Nils 114 // until further notice. 115 dc.PushAlwaysNil() 116 nextMiss2zgensym_189e87a53e58dbf2_3 = 0 117 } 118 for nextMiss2zgensym_189e87a53e58dbf2_3 < maxFields2zgensym_189e87a53e58dbf2_3 && (found2zgensym_189e87a53e58dbf2_3[nextMiss2zgensym_189e87a53e58dbf2_3] || decodeMsgFieldSkip2zgensym_189e87a53e58dbf2_3[nextMiss2zgensym_189e87a53e58dbf2_3]) { 119 nextMiss2zgensym_189e87a53e58dbf2_3++ 120 } 121 if nextMiss2zgensym_189e87a53e58dbf2_3 == maxFields2zgensym_189e87a53e58dbf2_3 { 122 // filled all the empty fields! 123 break doneWithStruct2zgensym_189e87a53e58dbf2_3 124 } 125 missingFieldsLeft2zgensym_189e87a53e58dbf2_3-- 126 curField2zgensym_189e87a53e58dbf2_3 = decodeMsgFieldOrder2zgensym_189e87a53e58dbf2_3[nextMiss2zgensym_189e87a53e58dbf2_3] 127 } 128 //fmt.Printf("switching on curField: '%v'\n", curField2zgensym_189e87a53e58dbf2_3) 129 switch curField2zgensym_189e87a53e58dbf2_3 { 130 // -- templateDecodeMsg ends here -- 131 132 case "Users_zid00_ptr": 133 found2zgensym_189e87a53e58dbf2_3[0] = true 134 if dc.IsNil() { 135 err = dc.ReadNil() 136 if err != nil { 137 return 138 } 139 140 if z.Persist.Users != nil { 141 dc.PushAlwaysNil() 142 err = z.Persist.Users.DecodeMsg(dc) 143 if err != nil { 144 return 145 } 146 dc.PopAlwaysNil() 147 } 148 } else { 149 // not Nil, we have something to read 150 151 if z.Persist.Users == nil { 152 z.Persist.Users = new(AtomicUserMap) 153 } 154 err = z.Persist.Users.DecodeMsg(dc) 155 if err != nil { 156 return 157 } 158 } 159 case "HostPrivateKeyPath_zid01_str": 160 found2zgensym_189e87a53e58dbf2_3[1] = true 161 z.Persist.HostPrivateKeyPath, err = dc.ReadString() 162 if err != nil { 163 return 164 } 165 default: 166 err = dc.Skip() 167 if err != nil { 168 return 169 } 170 } 171 } 172 if nextMiss2zgensym_189e87a53e58dbf2_3 != -1 { 173 dc.PopAlwaysNil() 174 } 175 176 default: 177 err = dc.Skip() 178 if err != nil { 179 return 180 } 181 } 182 } 183 if nextMiss0zgensym_189e87a53e58dbf2_1 != -1 { 184 dc.PopAlwaysNil() 185 } 186 187 if sawTopNil { 188 dc.PopAlwaysNil() 189 } 190 191 if p, ok := interface{}(z).(msgp.PostLoad); ok { 192 p.PostLoadHook() 193 } 194 195 return 196 } 197 198 // fields of HostDb 199 var decodeMsgFieldOrder0zgensym_189e87a53e58dbf2_1 = []string{"UserHomePrefix__str", "", "Persist__rct"} 200 201 var decodeMsgFieldSkip0zgensym_189e87a53e58dbf2_1 = []bool{false, true, false} 202 203 // fields of HostDbPersist 204 var decodeMsgFieldOrder2zgensym_189e87a53e58dbf2_3 = []string{"Users_zid00_ptr", "HostPrivateKeyPath_zid01_str"} 205 206 var decodeMsgFieldSkip2zgensym_189e87a53e58dbf2_3 = []bool{false, false} 207 208 // fieldsNotEmpty supports omitempty tags 209 func (z *HostDb) fieldsNotEmpty(isempty []bool) uint32 { 210 if len(isempty) == 0 { 211 return 2 212 } 213 var fieldsInUse uint32 = 2 214 isempty[0] = (len(z.UserHomePrefix) == 0) // string, omitempty 215 if isempty[0] { 216 fieldsInUse-- 217 } 218 isempty[2] = false // struct values are never empty 219 if isempty[2] { 220 fieldsInUse-- 221 } 222 223 return fieldsInUse 224 } 225 226 // EncodeMsg implements msgp.Encodable 227 func (z *HostDb) EncodeMsg(en *msgp.Writer) (err error) { 228 if p, ok := interface{}(z).(msgp.PreSave); ok { 229 p.PreSaveHook() 230 } 231 232 // honor the omitempty tags 233 var empty_zgensym_189e87a53e58dbf2_4 [3]bool 234 fieldsInUse_zgensym_189e87a53e58dbf2_5 := z.fieldsNotEmpty(empty_zgensym_189e87a53e58dbf2_4[:]) 235 236 // map header 237 err = en.WriteMapHeader(fieldsInUse_zgensym_189e87a53e58dbf2_5) 238 if err != nil { 239 return err 240 } 241 242 if !empty_zgensym_189e87a53e58dbf2_4[0] { 243 // write "UserHomePrefix__str" 244 err = en.Append(0xb3, 0x55, 0x73, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x5f, 0x73, 0x74, 0x72) 245 if err != nil { 246 return err 247 } 248 err = en.WriteString(z.UserHomePrefix) 249 if err != nil { 250 return 251 } 252 } 253 254 if !empty_zgensym_189e87a53e58dbf2_4[2] { 255 // write "Persist__rct" 256 err = en.Append(0xac, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x5f, 0x72, 0x63, 0x74) 257 if err != nil { 258 return err 259 } 260 261 // honor the omitempty tags 262 var empty_zgensym_189e87a53e58dbf2_6 [2]bool 263 fieldsInUse_zgensym_189e87a53e58dbf2_7 := z.Persist.fieldsNotEmpty(empty_zgensym_189e87a53e58dbf2_6[:]) 264 265 // map header 266 err = en.WriteMapHeader(fieldsInUse_zgensym_189e87a53e58dbf2_7) 267 if err != nil { 268 return err 269 } 270 271 if !empty_zgensym_189e87a53e58dbf2_6[0] { 272 // write "Users_zid00_ptr" 273 err = en.Append(0xaf, 0x55, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x70, 0x74, 0x72) 274 if err != nil { 275 return err 276 } 277 if z.Persist.Users == nil { 278 err = en.WriteNil() 279 if err != nil { 280 return 281 } 282 } else { 283 err = z.Persist.Users.EncodeMsg(en) 284 if err != nil { 285 return 286 } 287 } 288 } 289 290 if !empty_zgensym_189e87a53e58dbf2_6[1] { 291 // write "HostPrivateKeyPath_zid01_str" 292 err = en.Append(0xbc, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x73, 0x74, 0x72) 293 if err != nil { 294 return err 295 } 296 err = en.WriteString(z.Persist.HostPrivateKeyPath) 297 if err != nil { 298 return 299 } 300 } 301 302 } 303 304 return 305 } 306 307 // MarshalMsg implements msgp.Marshaler 308 func (z *HostDb) MarshalMsg(b []byte) (o []byte, err error) { 309 if p, ok := interface{}(z).(msgp.PreSave); ok { 310 p.PreSaveHook() 311 } 312 313 o = msgp.Require(b, z.Msgsize()) 314 315 // honor the omitempty tags 316 var empty [3]bool 317 fieldsInUse := z.fieldsNotEmpty(empty[:]) 318 o = msgp.AppendMapHeader(o, fieldsInUse) 319 320 if !empty[0] { 321 // string "UserHomePrefix__str" 322 o = append(o, 0xb3, 0x55, 0x73, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x5f, 0x73, 0x74, 0x72) 323 o = msgp.AppendString(o, z.UserHomePrefix) 324 } 325 326 if !empty[2] { 327 // string "Persist__rct" 328 o = append(o, 0xac, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x5f, 0x72, 0x63, 0x74) 329 330 // honor the omitempty tags 331 var empty [2]bool 332 fieldsInUse := z.Persist.fieldsNotEmpty(empty[:]) 333 o = msgp.AppendMapHeader(o, fieldsInUse) 334 335 if !empty[0] { 336 // string "Users_zid00_ptr" 337 o = append(o, 0xaf, 0x55, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x70, 0x74, 0x72) 338 if z.Persist.Users == nil { 339 o = msgp.AppendNil(o) 340 } else { 341 o, err = z.Persist.Users.MarshalMsg(o) 342 if err != nil { 343 return 344 } 345 } 346 } 347 348 if !empty[1] { 349 // string "HostPrivateKeyPath_zid01_str" 350 o = append(o, 0xbc, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x73, 0x74, 0x72) 351 o = msgp.AppendString(o, z.Persist.HostPrivateKeyPath) 352 } 353 354 } 355 356 return 357 } 358 359 // UnmarshalMsg implements msgp.Unmarshaler 360 func (z *HostDb) UnmarshalMsg(bts []byte) (o []byte, err error) { 361 return z.UnmarshalMsgWithCfg(bts, nil) 362 } 363 func (z *HostDb) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 364 var nbs msgp.NilBitsStack 365 nbs.Init(cfg) 366 var sawTopNil bool 367 if msgp.IsNil(bts) { 368 sawTopNil = true 369 bts = nbs.PushAlwaysNil(bts[1:]) 370 } 371 372 var field []byte 373 _ = field 374 const maxFields8zgensym_189e87a53e58dbf2_9 = 3 375 376 // -- templateUnmarshalMsg starts here-- 377 var totalEncodedFields8zgensym_189e87a53e58dbf2_9 uint32 378 if !nbs.AlwaysNil { 379 totalEncodedFields8zgensym_189e87a53e58dbf2_9, bts, err = nbs.ReadMapHeaderBytes(bts) 380 if err != nil { 381 return 382 } 383 } 384 encodedFieldsLeft8zgensym_189e87a53e58dbf2_9 := totalEncodedFields8zgensym_189e87a53e58dbf2_9 385 missingFieldsLeft8zgensym_189e87a53e58dbf2_9 := maxFields8zgensym_189e87a53e58dbf2_9 - totalEncodedFields8zgensym_189e87a53e58dbf2_9 386 387 var nextMiss8zgensym_189e87a53e58dbf2_9 int32 = -1 388 var found8zgensym_189e87a53e58dbf2_9 [maxFields8zgensym_189e87a53e58dbf2_9]bool 389 var curField8zgensym_189e87a53e58dbf2_9 string 390 391 doneWithStruct8zgensym_189e87a53e58dbf2_9: 392 // First fill all the encoded fields, then 393 // treat the remaining, missing fields, as Nil. 394 for encodedFieldsLeft8zgensym_189e87a53e58dbf2_9 > 0 || missingFieldsLeft8zgensym_189e87a53e58dbf2_9 > 0 { 395 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft8zgensym_189e87a53e58dbf2_9, missingFieldsLeft8zgensym_189e87a53e58dbf2_9, msgp.ShowFound(found8zgensym_189e87a53e58dbf2_9[:]), unmarshalMsgFieldOrder8zgensym_189e87a53e58dbf2_9) 396 if encodedFieldsLeft8zgensym_189e87a53e58dbf2_9 > 0 { 397 encodedFieldsLeft8zgensym_189e87a53e58dbf2_9-- 398 field, bts, err = nbs.ReadMapKeyZC(bts) 399 if err != nil { 400 return 401 } 402 curField8zgensym_189e87a53e58dbf2_9 = msgp.UnsafeString(field) 403 } else { 404 //missing fields need handling 405 if nextMiss8zgensym_189e87a53e58dbf2_9 < 0 { 406 // set bts to contain just mnil (0xc0) 407 bts = nbs.PushAlwaysNil(bts) 408 nextMiss8zgensym_189e87a53e58dbf2_9 = 0 409 } 410 for nextMiss8zgensym_189e87a53e58dbf2_9 < maxFields8zgensym_189e87a53e58dbf2_9 && (found8zgensym_189e87a53e58dbf2_9[nextMiss8zgensym_189e87a53e58dbf2_9] || unmarshalMsgFieldSkip8zgensym_189e87a53e58dbf2_9[nextMiss8zgensym_189e87a53e58dbf2_9]) { 411 nextMiss8zgensym_189e87a53e58dbf2_9++ 412 } 413 if nextMiss8zgensym_189e87a53e58dbf2_9 == maxFields8zgensym_189e87a53e58dbf2_9 { 414 // filled all the empty fields! 415 break doneWithStruct8zgensym_189e87a53e58dbf2_9 416 } 417 missingFieldsLeft8zgensym_189e87a53e58dbf2_9-- 418 curField8zgensym_189e87a53e58dbf2_9 = unmarshalMsgFieldOrder8zgensym_189e87a53e58dbf2_9[nextMiss8zgensym_189e87a53e58dbf2_9] 419 } 420 //fmt.Printf("switching on curField: '%v'\n", curField8zgensym_189e87a53e58dbf2_9) 421 switch curField8zgensym_189e87a53e58dbf2_9 { 422 // -- templateUnmarshalMsg ends here -- 423 424 case "UserHomePrefix__str": 425 found8zgensym_189e87a53e58dbf2_9[0] = true 426 z.UserHomePrefix, bts, err = nbs.ReadStringBytes(bts) 427 428 if err != nil { 429 return 430 } 431 case "Persist__rct": 432 found8zgensym_189e87a53e58dbf2_9[2] = true 433 const maxFields10zgensym_189e87a53e58dbf2_11 = 2 434 435 // -- templateUnmarshalMsg starts here-- 436 var totalEncodedFields10zgensym_189e87a53e58dbf2_11 uint32 437 if !nbs.AlwaysNil { 438 totalEncodedFields10zgensym_189e87a53e58dbf2_11, bts, err = nbs.ReadMapHeaderBytes(bts) 439 if err != nil { 440 return 441 } 442 } 443 encodedFieldsLeft10zgensym_189e87a53e58dbf2_11 := totalEncodedFields10zgensym_189e87a53e58dbf2_11 444 missingFieldsLeft10zgensym_189e87a53e58dbf2_11 := maxFields10zgensym_189e87a53e58dbf2_11 - totalEncodedFields10zgensym_189e87a53e58dbf2_11 445 446 var nextMiss10zgensym_189e87a53e58dbf2_11 int32 = -1 447 var found10zgensym_189e87a53e58dbf2_11 [maxFields10zgensym_189e87a53e58dbf2_11]bool 448 var curField10zgensym_189e87a53e58dbf2_11 string 449 450 doneWithStruct10zgensym_189e87a53e58dbf2_11: 451 // First fill all the encoded fields, then 452 // treat the remaining, missing fields, as Nil. 453 for encodedFieldsLeft10zgensym_189e87a53e58dbf2_11 > 0 || missingFieldsLeft10zgensym_189e87a53e58dbf2_11 > 0 { 454 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft10zgensym_189e87a53e58dbf2_11, missingFieldsLeft10zgensym_189e87a53e58dbf2_11, msgp.ShowFound(found10zgensym_189e87a53e58dbf2_11[:]), unmarshalMsgFieldOrder10zgensym_189e87a53e58dbf2_11) 455 if encodedFieldsLeft10zgensym_189e87a53e58dbf2_11 > 0 { 456 encodedFieldsLeft10zgensym_189e87a53e58dbf2_11-- 457 field, bts, err = nbs.ReadMapKeyZC(bts) 458 if err != nil { 459 return 460 } 461 curField10zgensym_189e87a53e58dbf2_11 = msgp.UnsafeString(field) 462 } else { 463 //missing fields need handling 464 if nextMiss10zgensym_189e87a53e58dbf2_11 < 0 { 465 // set bts to contain just mnil (0xc0) 466 bts = nbs.PushAlwaysNil(bts) 467 nextMiss10zgensym_189e87a53e58dbf2_11 = 0 468 } 469 for nextMiss10zgensym_189e87a53e58dbf2_11 < maxFields10zgensym_189e87a53e58dbf2_11 && (found10zgensym_189e87a53e58dbf2_11[nextMiss10zgensym_189e87a53e58dbf2_11] || unmarshalMsgFieldSkip10zgensym_189e87a53e58dbf2_11[nextMiss10zgensym_189e87a53e58dbf2_11]) { 470 nextMiss10zgensym_189e87a53e58dbf2_11++ 471 } 472 if nextMiss10zgensym_189e87a53e58dbf2_11 == maxFields10zgensym_189e87a53e58dbf2_11 { 473 // filled all the empty fields! 474 break doneWithStruct10zgensym_189e87a53e58dbf2_11 475 } 476 missingFieldsLeft10zgensym_189e87a53e58dbf2_11-- 477 curField10zgensym_189e87a53e58dbf2_11 = unmarshalMsgFieldOrder10zgensym_189e87a53e58dbf2_11[nextMiss10zgensym_189e87a53e58dbf2_11] 478 } 479 //fmt.Printf("switching on curField: '%v'\n", curField10zgensym_189e87a53e58dbf2_11) 480 switch curField10zgensym_189e87a53e58dbf2_11 { 481 // -- templateUnmarshalMsg ends here -- 482 483 case "Users_zid00_ptr": 484 found10zgensym_189e87a53e58dbf2_11[0] = true 485 if nbs.AlwaysNil { 486 if z.Persist.Users != nil { 487 z.Persist.Users.UnmarshalMsg(msgp.OnlyNilSlice) 488 } 489 } else { 490 // not nbs.AlwaysNil 491 if msgp.IsNil(bts) { 492 bts = bts[1:] 493 if nil != z.Persist.Users { 494 z.Persist.Users.UnmarshalMsg(msgp.OnlyNilSlice) 495 } 496 } else { 497 // not nbs.AlwaysNil and not IsNil(bts): have something to read 498 499 if z.Persist.Users == nil { 500 z.Persist.Users = new(AtomicUserMap) 501 } 502 bts, err = z.Persist.Users.UnmarshalMsg(bts) 503 if err != nil { 504 return 505 } 506 if err != nil { 507 return 508 } 509 } 510 } 511 case "HostPrivateKeyPath_zid01_str": 512 found10zgensym_189e87a53e58dbf2_11[1] = true 513 z.Persist.HostPrivateKeyPath, bts, err = nbs.ReadStringBytes(bts) 514 515 if err != nil { 516 return 517 } 518 default: 519 bts, err = msgp.Skip(bts) 520 if err != nil { 521 return 522 } 523 } 524 } 525 if nextMiss10zgensym_189e87a53e58dbf2_11 != -1 { 526 bts = nbs.PopAlwaysNil() 527 } 528 529 default: 530 bts, err = msgp.Skip(bts) 531 if err != nil { 532 return 533 } 534 } 535 } 536 if nextMiss8zgensym_189e87a53e58dbf2_9 != -1 { 537 bts = nbs.PopAlwaysNil() 538 } 539 540 if sawTopNil { 541 bts = nbs.PopAlwaysNil() 542 } 543 o = bts 544 if p, ok := interface{}(z).(msgp.PostLoad); ok { 545 p.PostLoadHook() 546 } 547 548 return 549 } 550 551 // fields of HostDb 552 var unmarshalMsgFieldOrder8zgensym_189e87a53e58dbf2_9 = []string{"UserHomePrefix__str", "", "Persist__rct"} 553 554 var unmarshalMsgFieldSkip8zgensym_189e87a53e58dbf2_9 = []bool{false, true, false} 555 556 // fields of HostDbPersist 557 var unmarshalMsgFieldOrder10zgensym_189e87a53e58dbf2_11 = []string{"Users_zid00_ptr", "HostPrivateKeyPath_zid01_str"} 558 559 var unmarshalMsgFieldSkip10zgensym_189e87a53e58dbf2_11 = []bool{false, false} 560 561 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 562 func (z *HostDb) Msgsize() (s int) { 563 s = 1 + 20 + msgp.StringPrefixSize + len(z.UserHomePrefix) + 13 + 1 + 16 564 if z.Persist.Users == nil { 565 s += msgp.NilSize 566 } else { 567 s += z.Persist.Users.Msgsize() 568 } 569 s += 29 + msgp.StringPrefixSize + len(z.Persist.HostPrivateKeyPath) 570 return 571 } 572 573 // DecodeMsg implements msgp.Decodable 574 // We treat empty fields as if we read a Nil from the wire. 575 func (z *HostDbPersist) DecodeMsg(dc *msgp.Reader) (err error) { 576 var sawTopNil bool 577 if dc.IsNil() { 578 sawTopNil = true 579 err = dc.ReadNil() 580 if err != nil { 581 return 582 } 583 dc.PushAlwaysNil() 584 } 585 586 var field []byte 587 _ = field 588 const maxFields12zgensym_189e87a53e58dbf2_13 = 2 589 590 // -- templateDecodeMsg starts here-- 591 var totalEncodedFields12zgensym_189e87a53e58dbf2_13 uint32 592 totalEncodedFields12zgensym_189e87a53e58dbf2_13, err = dc.ReadMapHeader() 593 if err != nil { 594 return 595 } 596 encodedFieldsLeft12zgensym_189e87a53e58dbf2_13 := totalEncodedFields12zgensym_189e87a53e58dbf2_13 597 missingFieldsLeft12zgensym_189e87a53e58dbf2_13 := maxFields12zgensym_189e87a53e58dbf2_13 - totalEncodedFields12zgensym_189e87a53e58dbf2_13 598 599 var nextMiss12zgensym_189e87a53e58dbf2_13 int32 = -1 600 var found12zgensym_189e87a53e58dbf2_13 [maxFields12zgensym_189e87a53e58dbf2_13]bool 601 var curField12zgensym_189e87a53e58dbf2_13 string 602 603 doneWithStruct12zgensym_189e87a53e58dbf2_13: 604 // First fill all the encoded fields, then 605 // treat the remaining, missing fields, as Nil. 606 for encodedFieldsLeft12zgensym_189e87a53e58dbf2_13 > 0 || missingFieldsLeft12zgensym_189e87a53e58dbf2_13 > 0 { 607 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft12zgensym_189e87a53e58dbf2_13, missingFieldsLeft12zgensym_189e87a53e58dbf2_13, msgp.ShowFound(found12zgensym_189e87a53e58dbf2_13[:]), decodeMsgFieldOrder12zgensym_189e87a53e58dbf2_13) 608 if encodedFieldsLeft12zgensym_189e87a53e58dbf2_13 > 0 { 609 encodedFieldsLeft12zgensym_189e87a53e58dbf2_13-- 610 field, err = dc.ReadMapKeyPtr() 611 if err != nil { 612 return 613 } 614 curField12zgensym_189e87a53e58dbf2_13 = msgp.UnsafeString(field) 615 } else { 616 //missing fields need handling 617 if nextMiss12zgensym_189e87a53e58dbf2_13 < 0 { 618 // tell the reader to only give us Nils 619 // until further notice. 620 dc.PushAlwaysNil() 621 nextMiss12zgensym_189e87a53e58dbf2_13 = 0 622 } 623 for nextMiss12zgensym_189e87a53e58dbf2_13 < maxFields12zgensym_189e87a53e58dbf2_13 && (found12zgensym_189e87a53e58dbf2_13[nextMiss12zgensym_189e87a53e58dbf2_13] || decodeMsgFieldSkip12zgensym_189e87a53e58dbf2_13[nextMiss12zgensym_189e87a53e58dbf2_13]) { 624 nextMiss12zgensym_189e87a53e58dbf2_13++ 625 } 626 if nextMiss12zgensym_189e87a53e58dbf2_13 == maxFields12zgensym_189e87a53e58dbf2_13 { 627 // filled all the empty fields! 628 break doneWithStruct12zgensym_189e87a53e58dbf2_13 629 } 630 missingFieldsLeft12zgensym_189e87a53e58dbf2_13-- 631 curField12zgensym_189e87a53e58dbf2_13 = decodeMsgFieldOrder12zgensym_189e87a53e58dbf2_13[nextMiss12zgensym_189e87a53e58dbf2_13] 632 } 633 //fmt.Printf("switching on curField: '%v'\n", curField12zgensym_189e87a53e58dbf2_13) 634 switch curField12zgensym_189e87a53e58dbf2_13 { 635 // -- templateDecodeMsg ends here -- 636 637 case "Users_zid00_ptr": 638 found12zgensym_189e87a53e58dbf2_13[0] = true 639 if dc.IsNil() { 640 err = dc.ReadNil() 641 if err != nil { 642 return 643 } 644 645 if z.Users != nil { 646 dc.PushAlwaysNil() 647 err = z.Users.DecodeMsg(dc) 648 if err != nil { 649 return 650 } 651 dc.PopAlwaysNil() 652 } 653 } else { 654 // not Nil, we have something to read 655 656 if z.Users == nil { 657 z.Users = new(AtomicUserMap) 658 } 659 err = z.Users.DecodeMsg(dc) 660 if err != nil { 661 return 662 } 663 } 664 case "HostPrivateKeyPath_zid01_str": 665 found12zgensym_189e87a53e58dbf2_13[1] = true 666 z.HostPrivateKeyPath, err = dc.ReadString() 667 if err != nil { 668 return 669 } 670 default: 671 err = dc.Skip() 672 if err != nil { 673 return 674 } 675 } 676 } 677 if nextMiss12zgensym_189e87a53e58dbf2_13 != -1 { 678 dc.PopAlwaysNil() 679 } 680 681 if sawTopNil { 682 dc.PopAlwaysNil() 683 } 684 685 if p, ok := interface{}(z).(msgp.PostLoad); ok { 686 p.PostLoadHook() 687 } 688 689 return 690 } 691 692 // fields of HostDbPersist 693 var decodeMsgFieldOrder12zgensym_189e87a53e58dbf2_13 = []string{"Users_zid00_ptr", "HostPrivateKeyPath_zid01_str"} 694 695 var decodeMsgFieldSkip12zgensym_189e87a53e58dbf2_13 = []bool{false, false} 696 697 // fieldsNotEmpty supports omitempty tags 698 func (z *HostDbPersist) fieldsNotEmpty(isempty []bool) uint32 { 699 if len(isempty) == 0 { 700 return 2 701 } 702 var fieldsInUse uint32 = 2 703 isempty[0] = (z.Users == nil) // pointer, omitempty 704 if isempty[0] { 705 fieldsInUse-- 706 } 707 isempty[1] = (len(z.HostPrivateKeyPath) == 0) // string, omitempty 708 if isempty[1] { 709 fieldsInUse-- 710 } 711 712 return fieldsInUse 713 } 714 715 // EncodeMsg implements msgp.Encodable 716 func (z *HostDbPersist) EncodeMsg(en *msgp.Writer) (err error) { 717 if p, ok := interface{}(z).(msgp.PreSave); ok { 718 p.PreSaveHook() 719 } 720 721 // honor the omitempty tags 722 var empty_zgensym_189e87a53e58dbf2_14 [2]bool 723 fieldsInUse_zgensym_189e87a53e58dbf2_15 := z.fieldsNotEmpty(empty_zgensym_189e87a53e58dbf2_14[:]) 724 725 // map header 726 err = en.WriteMapHeader(fieldsInUse_zgensym_189e87a53e58dbf2_15) 727 if err != nil { 728 return err 729 } 730 731 if !empty_zgensym_189e87a53e58dbf2_14[0] { 732 // write "Users_zid00_ptr" 733 err = en.Append(0xaf, 0x55, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x70, 0x74, 0x72) 734 if err != nil { 735 return err 736 } 737 if z.Users == nil { 738 err = en.WriteNil() 739 if err != nil { 740 return 741 } 742 } else { 743 err = z.Users.EncodeMsg(en) 744 if err != nil { 745 return 746 } 747 } 748 } 749 750 if !empty_zgensym_189e87a53e58dbf2_14[1] { 751 // write "HostPrivateKeyPath_zid01_str" 752 err = en.Append(0xbc, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x73, 0x74, 0x72) 753 if err != nil { 754 return err 755 } 756 err = en.WriteString(z.HostPrivateKeyPath) 757 if err != nil { 758 return 759 } 760 } 761 762 return 763 } 764 765 // MarshalMsg implements msgp.Marshaler 766 func (z *HostDbPersist) MarshalMsg(b []byte) (o []byte, err error) { 767 if p, ok := interface{}(z).(msgp.PreSave); ok { 768 p.PreSaveHook() 769 } 770 771 o = msgp.Require(b, z.Msgsize()) 772 773 // honor the omitempty tags 774 var empty [2]bool 775 fieldsInUse := z.fieldsNotEmpty(empty[:]) 776 o = msgp.AppendMapHeader(o, fieldsInUse) 777 778 if !empty[0] { 779 // string "Users_zid00_ptr" 780 o = append(o, 0xaf, 0x55, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x70, 0x74, 0x72) 781 if z.Users == nil { 782 o = msgp.AppendNil(o) 783 } else { 784 o, err = z.Users.MarshalMsg(o) 785 if err != nil { 786 return 787 } 788 } 789 } 790 791 if !empty[1] { 792 // string "HostPrivateKeyPath_zid01_str" 793 o = append(o, 0xbc, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x73, 0x74, 0x72) 794 o = msgp.AppendString(o, z.HostPrivateKeyPath) 795 } 796 797 return 798 } 799 800 // UnmarshalMsg implements msgp.Unmarshaler 801 func (z *HostDbPersist) UnmarshalMsg(bts []byte) (o []byte, err error) { 802 return z.UnmarshalMsgWithCfg(bts, nil) 803 } 804 func (z *HostDbPersist) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 805 var nbs msgp.NilBitsStack 806 nbs.Init(cfg) 807 var sawTopNil bool 808 if msgp.IsNil(bts) { 809 sawTopNil = true 810 bts = nbs.PushAlwaysNil(bts[1:]) 811 } 812 813 var field []byte 814 _ = field 815 const maxFields16zgensym_189e87a53e58dbf2_17 = 2 816 817 // -- templateUnmarshalMsg starts here-- 818 var totalEncodedFields16zgensym_189e87a53e58dbf2_17 uint32 819 if !nbs.AlwaysNil { 820 totalEncodedFields16zgensym_189e87a53e58dbf2_17, bts, err = nbs.ReadMapHeaderBytes(bts) 821 if err != nil { 822 return 823 } 824 } 825 encodedFieldsLeft16zgensym_189e87a53e58dbf2_17 := totalEncodedFields16zgensym_189e87a53e58dbf2_17 826 missingFieldsLeft16zgensym_189e87a53e58dbf2_17 := maxFields16zgensym_189e87a53e58dbf2_17 - totalEncodedFields16zgensym_189e87a53e58dbf2_17 827 828 var nextMiss16zgensym_189e87a53e58dbf2_17 int32 = -1 829 var found16zgensym_189e87a53e58dbf2_17 [maxFields16zgensym_189e87a53e58dbf2_17]bool 830 var curField16zgensym_189e87a53e58dbf2_17 string 831 832 doneWithStruct16zgensym_189e87a53e58dbf2_17: 833 // First fill all the encoded fields, then 834 // treat the remaining, missing fields, as Nil. 835 for encodedFieldsLeft16zgensym_189e87a53e58dbf2_17 > 0 || missingFieldsLeft16zgensym_189e87a53e58dbf2_17 > 0 { 836 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft16zgensym_189e87a53e58dbf2_17, missingFieldsLeft16zgensym_189e87a53e58dbf2_17, msgp.ShowFound(found16zgensym_189e87a53e58dbf2_17[:]), unmarshalMsgFieldOrder16zgensym_189e87a53e58dbf2_17) 837 if encodedFieldsLeft16zgensym_189e87a53e58dbf2_17 > 0 { 838 encodedFieldsLeft16zgensym_189e87a53e58dbf2_17-- 839 field, bts, err = nbs.ReadMapKeyZC(bts) 840 if err != nil { 841 return 842 } 843 curField16zgensym_189e87a53e58dbf2_17 = msgp.UnsafeString(field) 844 } else { 845 //missing fields need handling 846 if nextMiss16zgensym_189e87a53e58dbf2_17 < 0 { 847 // set bts to contain just mnil (0xc0) 848 bts = nbs.PushAlwaysNil(bts) 849 nextMiss16zgensym_189e87a53e58dbf2_17 = 0 850 } 851 for nextMiss16zgensym_189e87a53e58dbf2_17 < maxFields16zgensym_189e87a53e58dbf2_17 && (found16zgensym_189e87a53e58dbf2_17[nextMiss16zgensym_189e87a53e58dbf2_17] || unmarshalMsgFieldSkip16zgensym_189e87a53e58dbf2_17[nextMiss16zgensym_189e87a53e58dbf2_17]) { 852 nextMiss16zgensym_189e87a53e58dbf2_17++ 853 } 854 if nextMiss16zgensym_189e87a53e58dbf2_17 == maxFields16zgensym_189e87a53e58dbf2_17 { 855 // filled all the empty fields! 856 break doneWithStruct16zgensym_189e87a53e58dbf2_17 857 } 858 missingFieldsLeft16zgensym_189e87a53e58dbf2_17-- 859 curField16zgensym_189e87a53e58dbf2_17 = unmarshalMsgFieldOrder16zgensym_189e87a53e58dbf2_17[nextMiss16zgensym_189e87a53e58dbf2_17] 860 } 861 //fmt.Printf("switching on curField: '%v'\n", curField16zgensym_189e87a53e58dbf2_17) 862 switch curField16zgensym_189e87a53e58dbf2_17 { 863 // -- templateUnmarshalMsg ends here -- 864 865 case "Users_zid00_ptr": 866 found16zgensym_189e87a53e58dbf2_17[0] = true 867 if nbs.AlwaysNil { 868 if z.Users != nil { 869 z.Users.UnmarshalMsg(msgp.OnlyNilSlice) 870 } 871 } else { 872 // not nbs.AlwaysNil 873 if msgp.IsNil(bts) { 874 bts = bts[1:] 875 if nil != z.Users { 876 z.Users.UnmarshalMsg(msgp.OnlyNilSlice) 877 } 878 } else { 879 // not nbs.AlwaysNil and not IsNil(bts): have something to read 880 881 if z.Users == nil { 882 z.Users = new(AtomicUserMap) 883 } 884 bts, err = z.Users.UnmarshalMsg(bts) 885 if err != nil { 886 return 887 } 888 if err != nil { 889 return 890 } 891 } 892 } 893 case "HostPrivateKeyPath_zid01_str": 894 found16zgensym_189e87a53e58dbf2_17[1] = true 895 z.HostPrivateKeyPath, bts, err = nbs.ReadStringBytes(bts) 896 897 if err != nil { 898 return 899 } 900 default: 901 bts, err = msgp.Skip(bts) 902 if err != nil { 903 return 904 } 905 } 906 } 907 if nextMiss16zgensym_189e87a53e58dbf2_17 != -1 { 908 bts = nbs.PopAlwaysNil() 909 } 910 911 if sawTopNil { 912 bts = nbs.PopAlwaysNil() 913 } 914 o = bts 915 if p, ok := interface{}(z).(msgp.PostLoad); ok { 916 p.PostLoadHook() 917 } 918 919 return 920 } 921 922 // fields of HostDbPersist 923 var unmarshalMsgFieldOrder16zgensym_189e87a53e58dbf2_17 = []string{"Users_zid00_ptr", "HostPrivateKeyPath_zid01_str"} 924 925 var unmarshalMsgFieldSkip16zgensym_189e87a53e58dbf2_17 = []bool{false, false} 926 927 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 928 func (z *HostDbPersist) Msgsize() (s int) { 929 s = 1 + 16 930 if z.Users == nil { 931 s += msgp.NilSize 932 } else { 933 s += z.Users.Msgsize() 934 } 935 s += 29 + msgp.StringPrefixSize + len(z.HostPrivateKeyPath) 936 return 937 } 938 939 // DecodeMsg implements msgp.Decodable 940 // We treat empty fields as if we read a Nil from the wire. 941 func (z *LoginRecord) DecodeMsg(dc *msgp.Reader) (err error) { 942 var sawTopNil bool 943 if dc.IsNil() { 944 sawTopNil = true 945 err = dc.ReadNil() 946 if err != nil { 947 return 948 } 949 dc.PushAlwaysNil() 950 } 951 952 var field []byte 953 _ = field 954 const maxFields18zgensym_189e87a53e58dbf2_19 = 5 955 956 // -- templateDecodeMsg starts here-- 957 var totalEncodedFields18zgensym_189e87a53e58dbf2_19 uint32 958 totalEncodedFields18zgensym_189e87a53e58dbf2_19, err = dc.ReadMapHeader() 959 if err != nil { 960 return 961 } 962 encodedFieldsLeft18zgensym_189e87a53e58dbf2_19 := totalEncodedFields18zgensym_189e87a53e58dbf2_19 963 missingFieldsLeft18zgensym_189e87a53e58dbf2_19 := maxFields18zgensym_189e87a53e58dbf2_19 - totalEncodedFields18zgensym_189e87a53e58dbf2_19 964 965 var nextMiss18zgensym_189e87a53e58dbf2_19 int32 = -1 966 var found18zgensym_189e87a53e58dbf2_19 [maxFields18zgensym_189e87a53e58dbf2_19]bool 967 var curField18zgensym_189e87a53e58dbf2_19 string 968 969 doneWithStruct18zgensym_189e87a53e58dbf2_19: 970 // First fill all the encoded fields, then 971 // treat the remaining, missing fields, as Nil. 972 for encodedFieldsLeft18zgensym_189e87a53e58dbf2_19 > 0 || missingFieldsLeft18zgensym_189e87a53e58dbf2_19 > 0 { 973 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft18zgensym_189e87a53e58dbf2_19, missingFieldsLeft18zgensym_189e87a53e58dbf2_19, msgp.ShowFound(found18zgensym_189e87a53e58dbf2_19[:]), decodeMsgFieldOrder18zgensym_189e87a53e58dbf2_19) 974 if encodedFieldsLeft18zgensym_189e87a53e58dbf2_19 > 0 { 975 encodedFieldsLeft18zgensym_189e87a53e58dbf2_19-- 976 field, err = dc.ReadMapKeyPtr() 977 if err != nil { 978 return 979 } 980 curField18zgensym_189e87a53e58dbf2_19 = msgp.UnsafeString(field) 981 } else { 982 //missing fields need handling 983 if nextMiss18zgensym_189e87a53e58dbf2_19 < 0 { 984 // tell the reader to only give us Nils 985 // until further notice. 986 dc.PushAlwaysNil() 987 nextMiss18zgensym_189e87a53e58dbf2_19 = 0 988 } 989 for nextMiss18zgensym_189e87a53e58dbf2_19 < maxFields18zgensym_189e87a53e58dbf2_19 && (found18zgensym_189e87a53e58dbf2_19[nextMiss18zgensym_189e87a53e58dbf2_19] || decodeMsgFieldSkip18zgensym_189e87a53e58dbf2_19[nextMiss18zgensym_189e87a53e58dbf2_19]) { 990 nextMiss18zgensym_189e87a53e58dbf2_19++ 991 } 992 if nextMiss18zgensym_189e87a53e58dbf2_19 == maxFields18zgensym_189e87a53e58dbf2_19 { 993 // filled all the empty fields! 994 break doneWithStruct18zgensym_189e87a53e58dbf2_19 995 } 996 missingFieldsLeft18zgensym_189e87a53e58dbf2_19-- 997 curField18zgensym_189e87a53e58dbf2_19 = decodeMsgFieldOrder18zgensym_189e87a53e58dbf2_19[nextMiss18zgensym_189e87a53e58dbf2_19] 998 } 999 //fmt.Printf("switching on curField: '%v'\n", curField18zgensym_189e87a53e58dbf2_19) 1000 switch curField18zgensym_189e87a53e58dbf2_19 { 1001 // -- templateDecodeMsg ends here -- 1002 1003 case "FirstTm__tim": 1004 found18zgensym_189e87a53e58dbf2_19[0] = true 1005 z.FirstTm, err = dc.ReadTime() 1006 if err != nil { 1007 return 1008 } 1009 case "LastTm__tim": 1010 found18zgensym_189e87a53e58dbf2_19[1] = true 1011 z.LastTm, err = dc.ReadTime() 1012 if err != nil { 1013 return 1014 } 1015 case "SeenCount__i64": 1016 found18zgensym_189e87a53e58dbf2_19[2] = true 1017 z.SeenCount, err = dc.ReadInt64() 1018 if err != nil { 1019 return 1020 } 1021 case "AcceptedCount__i64": 1022 found18zgensym_189e87a53e58dbf2_19[3] = true 1023 z.AcceptedCount, err = dc.ReadInt64() 1024 if err != nil { 1025 return 1026 } 1027 case "PubFinger__str": 1028 found18zgensym_189e87a53e58dbf2_19[4] = true 1029 z.PubFinger, err = dc.ReadString() 1030 if err != nil { 1031 return 1032 } 1033 default: 1034 err = dc.Skip() 1035 if err != nil { 1036 return 1037 } 1038 } 1039 } 1040 if nextMiss18zgensym_189e87a53e58dbf2_19 != -1 { 1041 dc.PopAlwaysNil() 1042 } 1043 1044 if sawTopNil { 1045 dc.PopAlwaysNil() 1046 } 1047 1048 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1049 p.PostLoadHook() 1050 } 1051 1052 return 1053 } 1054 1055 // fields of LoginRecord 1056 var decodeMsgFieldOrder18zgensym_189e87a53e58dbf2_19 = []string{"FirstTm__tim", "LastTm__tim", "SeenCount__i64", "AcceptedCount__i64", "PubFinger__str"} 1057 1058 var decodeMsgFieldSkip18zgensym_189e87a53e58dbf2_19 = []bool{false, false, false, false, false} 1059 1060 // fieldsNotEmpty supports omitempty tags 1061 func (z *LoginRecord) fieldsNotEmpty(isempty []bool) uint32 { 1062 if len(isempty) == 0 { 1063 return 5 1064 } 1065 var fieldsInUse uint32 = 5 1066 isempty[0] = (z.FirstTm.IsZero()) // time.Time, omitempty 1067 if isempty[0] { 1068 fieldsInUse-- 1069 } 1070 isempty[1] = (z.LastTm.IsZero()) // time.Time, omitempty 1071 if isempty[1] { 1072 fieldsInUse-- 1073 } 1074 isempty[2] = (z.SeenCount == 0) // number, omitempty 1075 if isempty[2] { 1076 fieldsInUse-- 1077 } 1078 isempty[3] = (z.AcceptedCount == 0) // number, omitempty 1079 if isempty[3] { 1080 fieldsInUse-- 1081 } 1082 isempty[4] = (len(z.PubFinger) == 0) // string, omitempty 1083 if isempty[4] { 1084 fieldsInUse-- 1085 } 1086 1087 return fieldsInUse 1088 } 1089 1090 // EncodeMsg implements msgp.Encodable 1091 func (z *LoginRecord) EncodeMsg(en *msgp.Writer) (err error) { 1092 if p, ok := interface{}(z).(msgp.PreSave); ok { 1093 p.PreSaveHook() 1094 } 1095 1096 // honor the omitempty tags 1097 var empty_zgensym_189e87a53e58dbf2_20 [5]bool 1098 fieldsInUse_zgensym_189e87a53e58dbf2_21 := z.fieldsNotEmpty(empty_zgensym_189e87a53e58dbf2_20[:]) 1099 1100 // map header 1101 err = en.WriteMapHeader(fieldsInUse_zgensym_189e87a53e58dbf2_21) 1102 if err != nil { 1103 return err 1104 } 1105 1106 if !empty_zgensym_189e87a53e58dbf2_20[0] { 1107 // write "FirstTm__tim" 1108 err = en.Append(0xac, 0x46, 0x69, 0x72, 0x73, 0x74, 0x54, 0x6d, 0x5f, 0x5f, 0x74, 0x69, 0x6d) 1109 if err != nil { 1110 return err 1111 } 1112 err = en.WriteTime(z.FirstTm) 1113 if err != nil { 1114 return 1115 } 1116 } 1117 1118 if !empty_zgensym_189e87a53e58dbf2_20[1] { 1119 // write "LastTm__tim" 1120 err = en.Append(0xab, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x6d, 0x5f, 0x5f, 0x74, 0x69, 0x6d) 1121 if err != nil { 1122 return err 1123 } 1124 err = en.WriteTime(z.LastTm) 1125 if err != nil { 1126 return 1127 } 1128 } 1129 1130 if !empty_zgensym_189e87a53e58dbf2_20[2] { 1131 // write "SeenCount__i64" 1132 err = en.Append(0xae, 0x53, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x5f, 0x69, 0x36, 0x34) 1133 if err != nil { 1134 return err 1135 } 1136 err = en.WriteInt64(z.SeenCount) 1137 if err != nil { 1138 return 1139 } 1140 } 1141 1142 if !empty_zgensym_189e87a53e58dbf2_20[3] { 1143 // write "AcceptedCount__i64" 1144 err = en.Append(0xb2, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x5f, 0x69, 0x36, 0x34) 1145 if err != nil { 1146 return err 1147 } 1148 err = en.WriteInt64(z.AcceptedCount) 1149 if err != nil { 1150 return 1151 } 1152 } 1153 1154 if !empty_zgensym_189e87a53e58dbf2_20[4] { 1155 // write "PubFinger__str" 1156 err = en.Append(0xae, 0x50, 0x75, 0x62, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1157 if err != nil { 1158 return err 1159 } 1160 err = en.WriteString(z.PubFinger) 1161 if err != nil { 1162 return 1163 } 1164 } 1165 1166 return 1167 } 1168 1169 // MarshalMsg implements msgp.Marshaler 1170 func (z *LoginRecord) MarshalMsg(b []byte) (o []byte, err error) { 1171 if p, ok := interface{}(z).(msgp.PreSave); ok { 1172 p.PreSaveHook() 1173 } 1174 1175 o = msgp.Require(b, z.Msgsize()) 1176 1177 // honor the omitempty tags 1178 var empty [5]bool 1179 fieldsInUse := z.fieldsNotEmpty(empty[:]) 1180 o = msgp.AppendMapHeader(o, fieldsInUse) 1181 1182 if !empty[0] { 1183 // string "FirstTm__tim" 1184 o = append(o, 0xac, 0x46, 0x69, 0x72, 0x73, 0x74, 0x54, 0x6d, 0x5f, 0x5f, 0x74, 0x69, 0x6d) 1185 o = msgp.AppendTime(o, z.FirstTm) 1186 } 1187 1188 if !empty[1] { 1189 // string "LastTm__tim" 1190 o = append(o, 0xab, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x6d, 0x5f, 0x5f, 0x74, 0x69, 0x6d) 1191 o = msgp.AppendTime(o, z.LastTm) 1192 } 1193 1194 if !empty[2] { 1195 // string "SeenCount__i64" 1196 o = append(o, 0xae, 0x53, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x5f, 0x69, 0x36, 0x34) 1197 o = msgp.AppendInt64(o, z.SeenCount) 1198 } 1199 1200 if !empty[3] { 1201 // string "AcceptedCount__i64" 1202 o = append(o, 0xb2, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x5f, 0x69, 0x36, 0x34) 1203 o = msgp.AppendInt64(o, z.AcceptedCount) 1204 } 1205 1206 if !empty[4] { 1207 // string "PubFinger__str" 1208 o = append(o, 0xae, 0x50, 0x75, 0x62, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1209 o = msgp.AppendString(o, z.PubFinger) 1210 } 1211 1212 return 1213 } 1214 1215 // UnmarshalMsg implements msgp.Unmarshaler 1216 func (z *LoginRecord) UnmarshalMsg(bts []byte) (o []byte, err error) { 1217 return z.UnmarshalMsgWithCfg(bts, nil) 1218 } 1219 func (z *LoginRecord) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 1220 var nbs msgp.NilBitsStack 1221 nbs.Init(cfg) 1222 var sawTopNil bool 1223 if msgp.IsNil(bts) { 1224 sawTopNil = true 1225 bts = nbs.PushAlwaysNil(bts[1:]) 1226 } 1227 1228 var field []byte 1229 _ = field 1230 const maxFields22zgensym_189e87a53e58dbf2_23 = 5 1231 1232 // -- templateUnmarshalMsg starts here-- 1233 var totalEncodedFields22zgensym_189e87a53e58dbf2_23 uint32 1234 if !nbs.AlwaysNil { 1235 totalEncodedFields22zgensym_189e87a53e58dbf2_23, bts, err = nbs.ReadMapHeaderBytes(bts) 1236 if err != nil { 1237 return 1238 } 1239 } 1240 encodedFieldsLeft22zgensym_189e87a53e58dbf2_23 := totalEncodedFields22zgensym_189e87a53e58dbf2_23 1241 missingFieldsLeft22zgensym_189e87a53e58dbf2_23 := maxFields22zgensym_189e87a53e58dbf2_23 - totalEncodedFields22zgensym_189e87a53e58dbf2_23 1242 1243 var nextMiss22zgensym_189e87a53e58dbf2_23 int32 = -1 1244 var found22zgensym_189e87a53e58dbf2_23 [maxFields22zgensym_189e87a53e58dbf2_23]bool 1245 var curField22zgensym_189e87a53e58dbf2_23 string 1246 1247 doneWithStruct22zgensym_189e87a53e58dbf2_23: 1248 // First fill all the encoded fields, then 1249 // treat the remaining, missing fields, as Nil. 1250 for encodedFieldsLeft22zgensym_189e87a53e58dbf2_23 > 0 || missingFieldsLeft22zgensym_189e87a53e58dbf2_23 > 0 { 1251 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft22zgensym_189e87a53e58dbf2_23, missingFieldsLeft22zgensym_189e87a53e58dbf2_23, msgp.ShowFound(found22zgensym_189e87a53e58dbf2_23[:]), unmarshalMsgFieldOrder22zgensym_189e87a53e58dbf2_23) 1252 if encodedFieldsLeft22zgensym_189e87a53e58dbf2_23 > 0 { 1253 encodedFieldsLeft22zgensym_189e87a53e58dbf2_23-- 1254 field, bts, err = nbs.ReadMapKeyZC(bts) 1255 if err != nil { 1256 return 1257 } 1258 curField22zgensym_189e87a53e58dbf2_23 = msgp.UnsafeString(field) 1259 } else { 1260 //missing fields need handling 1261 if nextMiss22zgensym_189e87a53e58dbf2_23 < 0 { 1262 // set bts to contain just mnil (0xc0) 1263 bts = nbs.PushAlwaysNil(bts) 1264 nextMiss22zgensym_189e87a53e58dbf2_23 = 0 1265 } 1266 for nextMiss22zgensym_189e87a53e58dbf2_23 < maxFields22zgensym_189e87a53e58dbf2_23 && (found22zgensym_189e87a53e58dbf2_23[nextMiss22zgensym_189e87a53e58dbf2_23] || unmarshalMsgFieldSkip22zgensym_189e87a53e58dbf2_23[nextMiss22zgensym_189e87a53e58dbf2_23]) { 1267 nextMiss22zgensym_189e87a53e58dbf2_23++ 1268 } 1269 if nextMiss22zgensym_189e87a53e58dbf2_23 == maxFields22zgensym_189e87a53e58dbf2_23 { 1270 // filled all the empty fields! 1271 break doneWithStruct22zgensym_189e87a53e58dbf2_23 1272 } 1273 missingFieldsLeft22zgensym_189e87a53e58dbf2_23-- 1274 curField22zgensym_189e87a53e58dbf2_23 = unmarshalMsgFieldOrder22zgensym_189e87a53e58dbf2_23[nextMiss22zgensym_189e87a53e58dbf2_23] 1275 } 1276 //fmt.Printf("switching on curField: '%v'\n", curField22zgensym_189e87a53e58dbf2_23) 1277 switch curField22zgensym_189e87a53e58dbf2_23 { 1278 // -- templateUnmarshalMsg ends here -- 1279 1280 case "FirstTm__tim": 1281 found22zgensym_189e87a53e58dbf2_23[0] = true 1282 z.FirstTm, bts, err = nbs.ReadTimeBytes(bts) 1283 1284 if err != nil { 1285 return 1286 } 1287 case "LastTm__tim": 1288 found22zgensym_189e87a53e58dbf2_23[1] = true 1289 z.LastTm, bts, err = nbs.ReadTimeBytes(bts) 1290 1291 if err != nil { 1292 return 1293 } 1294 case "SeenCount__i64": 1295 found22zgensym_189e87a53e58dbf2_23[2] = true 1296 z.SeenCount, bts, err = nbs.ReadInt64Bytes(bts) 1297 1298 if err != nil { 1299 return 1300 } 1301 case "AcceptedCount__i64": 1302 found22zgensym_189e87a53e58dbf2_23[3] = true 1303 z.AcceptedCount, bts, err = nbs.ReadInt64Bytes(bts) 1304 1305 if err != nil { 1306 return 1307 } 1308 case "PubFinger__str": 1309 found22zgensym_189e87a53e58dbf2_23[4] = true 1310 z.PubFinger, bts, err = nbs.ReadStringBytes(bts) 1311 1312 if err != nil { 1313 return 1314 } 1315 default: 1316 bts, err = msgp.Skip(bts) 1317 if err != nil { 1318 return 1319 } 1320 } 1321 } 1322 if nextMiss22zgensym_189e87a53e58dbf2_23 != -1 { 1323 bts = nbs.PopAlwaysNil() 1324 } 1325 1326 if sawTopNil { 1327 bts = nbs.PopAlwaysNil() 1328 } 1329 o = bts 1330 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1331 p.PostLoadHook() 1332 } 1333 1334 return 1335 } 1336 1337 // fields of LoginRecord 1338 var unmarshalMsgFieldOrder22zgensym_189e87a53e58dbf2_23 = []string{"FirstTm__tim", "LastTm__tim", "SeenCount__i64", "AcceptedCount__i64", "PubFinger__str"} 1339 1340 var unmarshalMsgFieldSkip22zgensym_189e87a53e58dbf2_23 = []bool{false, false, false, false, false} 1341 1342 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 1343 func (z *LoginRecord) Msgsize() (s int) { 1344 s = 1 + 13 + msgp.TimeSize + 12 + msgp.TimeSize + 15 + msgp.Int64Size + 19 + msgp.Int64Size + 15 + msgp.StringPrefixSize + len(z.PubFinger) 1345 return 1346 } 1347 1348 // DecodeMsg implements msgp.Decodable 1349 // We treat empty fields as if we read a Nil from the wire. 1350 func (z *User) DecodeMsg(dc *msgp.Reader) (err error) { 1351 var sawTopNil bool 1352 if dc.IsNil() { 1353 sawTopNil = true 1354 err = dc.ReadNil() 1355 if err != nil { 1356 return 1357 } 1358 dc.PushAlwaysNil() 1359 } 1360 1361 var field []byte 1362 _ = field 1363 const maxFields27zgensym_189e87a53e58dbf2_28 = 18 1364 1365 // -- templateDecodeMsg starts here-- 1366 var totalEncodedFields27zgensym_189e87a53e58dbf2_28 uint32 1367 totalEncodedFields27zgensym_189e87a53e58dbf2_28, err = dc.ReadMapHeader() 1368 if err != nil { 1369 return 1370 } 1371 encodedFieldsLeft27zgensym_189e87a53e58dbf2_28 := totalEncodedFields27zgensym_189e87a53e58dbf2_28 1372 missingFieldsLeft27zgensym_189e87a53e58dbf2_28 := maxFields27zgensym_189e87a53e58dbf2_28 - totalEncodedFields27zgensym_189e87a53e58dbf2_28 1373 1374 var nextMiss27zgensym_189e87a53e58dbf2_28 int32 = -1 1375 var found27zgensym_189e87a53e58dbf2_28 [maxFields27zgensym_189e87a53e58dbf2_28]bool 1376 var curField27zgensym_189e87a53e58dbf2_28 string 1377 1378 doneWithStruct27zgensym_189e87a53e58dbf2_28: 1379 // First fill all the encoded fields, then 1380 // treat the remaining, missing fields, as Nil. 1381 for encodedFieldsLeft27zgensym_189e87a53e58dbf2_28 > 0 || missingFieldsLeft27zgensym_189e87a53e58dbf2_28 > 0 { 1382 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft27zgensym_189e87a53e58dbf2_28, missingFieldsLeft27zgensym_189e87a53e58dbf2_28, msgp.ShowFound(found27zgensym_189e87a53e58dbf2_28[:]), decodeMsgFieldOrder27zgensym_189e87a53e58dbf2_28) 1383 if encodedFieldsLeft27zgensym_189e87a53e58dbf2_28 > 0 { 1384 encodedFieldsLeft27zgensym_189e87a53e58dbf2_28-- 1385 field, err = dc.ReadMapKeyPtr() 1386 if err != nil { 1387 return 1388 } 1389 curField27zgensym_189e87a53e58dbf2_28 = msgp.UnsafeString(field) 1390 } else { 1391 //missing fields need handling 1392 if nextMiss27zgensym_189e87a53e58dbf2_28 < 0 { 1393 // tell the reader to only give us Nils 1394 // until further notice. 1395 dc.PushAlwaysNil() 1396 nextMiss27zgensym_189e87a53e58dbf2_28 = 0 1397 } 1398 for nextMiss27zgensym_189e87a53e58dbf2_28 < maxFields27zgensym_189e87a53e58dbf2_28 && (found27zgensym_189e87a53e58dbf2_28[nextMiss27zgensym_189e87a53e58dbf2_28] || decodeMsgFieldSkip27zgensym_189e87a53e58dbf2_28[nextMiss27zgensym_189e87a53e58dbf2_28]) { 1399 nextMiss27zgensym_189e87a53e58dbf2_28++ 1400 } 1401 if nextMiss27zgensym_189e87a53e58dbf2_28 == maxFields27zgensym_189e87a53e58dbf2_28 { 1402 // filled all the empty fields! 1403 break doneWithStruct27zgensym_189e87a53e58dbf2_28 1404 } 1405 missingFieldsLeft27zgensym_189e87a53e58dbf2_28-- 1406 curField27zgensym_189e87a53e58dbf2_28 = decodeMsgFieldOrder27zgensym_189e87a53e58dbf2_28[nextMiss27zgensym_189e87a53e58dbf2_28] 1407 } 1408 //fmt.Printf("switching on curField: '%v'\n", curField27zgensym_189e87a53e58dbf2_28) 1409 switch curField27zgensym_189e87a53e58dbf2_28 { 1410 // -- templateDecodeMsg ends here -- 1411 1412 case "MyEmail__str": 1413 found27zgensym_189e87a53e58dbf2_28[0] = true 1414 z.MyEmail, err = dc.ReadString() 1415 if err != nil { 1416 return 1417 } 1418 case "MyFullname__str": 1419 found27zgensym_189e87a53e58dbf2_28[1] = true 1420 z.MyFullname, err = dc.ReadString() 1421 if err != nil { 1422 return 1423 } 1424 case "MyLogin__str": 1425 found27zgensym_189e87a53e58dbf2_28[2] = true 1426 z.MyLogin, err = dc.ReadString() 1427 if err != nil { 1428 return 1429 } 1430 case "PublicKeyPath__str": 1431 found27zgensym_189e87a53e58dbf2_28[3] = true 1432 z.PublicKeyPath, err = dc.ReadString() 1433 if err != nil { 1434 return 1435 } 1436 case "PrivateKeyPath__str": 1437 found27zgensym_189e87a53e58dbf2_28[4] = true 1438 z.PrivateKeyPath, err = dc.ReadString() 1439 if err != nil { 1440 return 1441 } 1442 case "TOTPpath__str": 1443 found27zgensym_189e87a53e58dbf2_28[5] = true 1444 z.TOTPpath, err = dc.ReadString() 1445 if err != nil { 1446 return 1447 } 1448 case "QrPath__str": 1449 found27zgensym_189e87a53e58dbf2_28[6] = true 1450 z.QrPath, err = dc.ReadString() 1451 if err != nil { 1452 return 1453 } 1454 case "Issuer__str": 1455 found27zgensym_189e87a53e58dbf2_28[7] = true 1456 z.Issuer, err = dc.ReadString() 1457 if err != nil { 1458 return 1459 } 1460 case "SeenPubKey__map": 1461 found27zgensym_189e87a53e58dbf2_28[9] = true 1462 var zgensym_189e87a53e58dbf2_29 uint32 1463 zgensym_189e87a53e58dbf2_29, err = dc.ReadMapHeader() 1464 if err != nil { 1465 return 1466 } 1467 if z.SeenPubKey == nil && zgensym_189e87a53e58dbf2_29 > 0 { 1468 z.SeenPubKey = make(map[string]LoginRecord, zgensym_189e87a53e58dbf2_29) 1469 } else if len(z.SeenPubKey) > 0 { 1470 for key, _ := range z.SeenPubKey { 1471 delete(z.SeenPubKey, key) 1472 } 1473 } 1474 for zgensym_189e87a53e58dbf2_29 > 0 { 1475 zgensym_189e87a53e58dbf2_29-- 1476 var zgensym_189e87a53e58dbf2_24 string 1477 var zgensym_189e87a53e58dbf2_25 LoginRecord 1478 zgensym_189e87a53e58dbf2_24, err = dc.ReadString() 1479 if err != nil { 1480 return 1481 } 1482 err = zgensym_189e87a53e58dbf2_25.DecodeMsg(dc) 1483 if err != nil { 1484 return 1485 } 1486 z.SeenPubKey[zgensym_189e87a53e58dbf2_24] = zgensym_189e87a53e58dbf2_25 1487 } 1488 case "ScryptedPassword__bin": 1489 found27zgensym_189e87a53e58dbf2_28[10] = true 1490 z.ScryptedPassword, err = dc.ReadBytes(z.ScryptedPassword) 1491 if err != nil { 1492 return 1493 } 1494 case "ClearPw__str": 1495 found27zgensym_189e87a53e58dbf2_28[11] = true 1496 z.ClearPw, err = dc.ReadString() 1497 if err != nil { 1498 return 1499 } 1500 case "TOTPorig__str": 1501 found27zgensym_189e87a53e58dbf2_28[12] = true 1502 z.TOTPorig, err = dc.ReadString() 1503 if err != nil { 1504 return 1505 } 1506 case "FirstLoginTime__tim": 1507 found27zgensym_189e87a53e58dbf2_28[13] = true 1508 z.FirstLoginTime, err = dc.ReadTime() 1509 if err != nil { 1510 return 1511 } 1512 case "LastLoginTime__tim": 1513 found27zgensym_189e87a53e58dbf2_28[14] = true 1514 z.LastLoginTime, err = dc.ReadTime() 1515 if err != nil { 1516 return 1517 } 1518 case "LastLoginAddr__str": 1519 found27zgensym_189e87a53e58dbf2_28[15] = true 1520 z.LastLoginAddr, err = dc.ReadString() 1521 if err != nil { 1522 return 1523 } 1524 case "IPwhitelist__slc": 1525 found27zgensym_189e87a53e58dbf2_28[16] = true 1526 var zgensym_189e87a53e58dbf2_30 uint32 1527 zgensym_189e87a53e58dbf2_30, err = dc.ReadArrayHeader() 1528 if err != nil { 1529 return 1530 } 1531 if cap(z.IPwhitelist) >= int(zgensym_189e87a53e58dbf2_30) { 1532 z.IPwhitelist = (z.IPwhitelist)[:zgensym_189e87a53e58dbf2_30] 1533 } else { 1534 z.IPwhitelist = make([]string, zgensym_189e87a53e58dbf2_30) 1535 } 1536 for zgensym_189e87a53e58dbf2_26 := range z.IPwhitelist { 1537 z.IPwhitelist[zgensym_189e87a53e58dbf2_26], err = dc.ReadString() 1538 if err != nil { 1539 return 1540 } 1541 } 1542 case "DisabledAcct__boo": 1543 found27zgensym_189e87a53e58dbf2_28[17] = true 1544 z.DisabledAcct, err = dc.ReadBool() 1545 if err != nil { 1546 return 1547 } 1548 default: 1549 err = dc.Skip() 1550 if err != nil { 1551 return 1552 } 1553 } 1554 } 1555 if nextMiss27zgensym_189e87a53e58dbf2_28 != -1 { 1556 dc.PopAlwaysNil() 1557 } 1558 1559 if sawTopNil { 1560 dc.PopAlwaysNil() 1561 } 1562 1563 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1564 p.PostLoadHook() 1565 } 1566 1567 return 1568 } 1569 1570 // fields of User 1571 var decodeMsgFieldOrder27zgensym_189e87a53e58dbf2_28 = []string{"MyEmail__str", "MyFullname__str", "MyLogin__str", "PublicKeyPath__str", "PrivateKeyPath__str", "TOTPpath__str", "QrPath__str", "Issuer__str", "", "SeenPubKey__map", "ScryptedPassword__bin", "ClearPw__str", "TOTPorig__str", "FirstLoginTime__tim", "LastLoginTime__tim", "LastLoginAddr__str", "IPwhitelist__slc", "DisabledAcct__boo"} 1572 1573 var decodeMsgFieldSkip27zgensym_189e87a53e58dbf2_28 = []bool{false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false} 1574 1575 // fieldsNotEmpty supports omitempty tags 1576 func (z *User) fieldsNotEmpty(isempty []bool) uint32 { 1577 if len(isempty) == 0 { 1578 return 17 1579 } 1580 var fieldsInUse uint32 = 17 1581 isempty[0] = (len(z.MyEmail) == 0) // string, omitempty 1582 if isempty[0] { 1583 fieldsInUse-- 1584 } 1585 isempty[1] = (len(z.MyFullname) == 0) // string, omitempty 1586 if isempty[1] { 1587 fieldsInUse-- 1588 } 1589 isempty[2] = (len(z.MyLogin) == 0) // string, omitempty 1590 if isempty[2] { 1591 fieldsInUse-- 1592 } 1593 isempty[3] = (len(z.PublicKeyPath) == 0) // string, omitempty 1594 if isempty[3] { 1595 fieldsInUse-- 1596 } 1597 isempty[4] = (len(z.PrivateKeyPath) == 0) // string, omitempty 1598 if isempty[4] { 1599 fieldsInUse-- 1600 } 1601 isempty[5] = (len(z.TOTPpath) == 0) // string, omitempty 1602 if isempty[5] { 1603 fieldsInUse-- 1604 } 1605 isempty[6] = (len(z.QrPath) == 0) // string, omitempty 1606 if isempty[6] { 1607 fieldsInUse-- 1608 } 1609 isempty[7] = (len(z.Issuer) == 0) // string, omitempty 1610 if isempty[7] { 1611 fieldsInUse-- 1612 } 1613 isempty[9] = (len(z.SeenPubKey) == 0) // string, omitempty 1614 if isempty[9] { 1615 fieldsInUse-- 1616 } 1617 isempty[10] = (len(z.ScryptedPassword) == 0) // string, omitempty 1618 if isempty[10] { 1619 fieldsInUse-- 1620 } 1621 isempty[11] = (len(z.ClearPw) == 0) // string, omitempty 1622 if isempty[11] { 1623 fieldsInUse-- 1624 } 1625 isempty[12] = (len(z.TOTPorig) == 0) // string, omitempty 1626 if isempty[12] { 1627 fieldsInUse-- 1628 } 1629 isempty[13] = (z.FirstLoginTime.IsZero()) // time.Time, omitempty 1630 if isempty[13] { 1631 fieldsInUse-- 1632 } 1633 isempty[14] = (z.LastLoginTime.IsZero()) // time.Time, omitempty 1634 if isempty[14] { 1635 fieldsInUse-- 1636 } 1637 isempty[15] = (len(z.LastLoginAddr) == 0) // string, omitempty 1638 if isempty[15] { 1639 fieldsInUse-- 1640 } 1641 isempty[16] = (len(z.IPwhitelist) == 0) // string, omitempty 1642 if isempty[16] { 1643 fieldsInUse-- 1644 } 1645 isempty[17] = (!z.DisabledAcct) // bool, omitempty 1646 if isempty[17] { 1647 fieldsInUse-- 1648 } 1649 1650 return fieldsInUse 1651 } 1652 1653 // EncodeMsg implements msgp.Encodable 1654 func (z *User) EncodeMsg(en *msgp.Writer) (err error) { 1655 if p, ok := interface{}(z).(msgp.PreSave); ok { 1656 p.PreSaveHook() 1657 } 1658 1659 // honor the omitempty tags 1660 var empty_zgensym_189e87a53e58dbf2_31 [18]bool 1661 fieldsInUse_zgensym_189e87a53e58dbf2_32 := z.fieldsNotEmpty(empty_zgensym_189e87a53e58dbf2_31[:]) 1662 1663 // map header 1664 err = en.WriteMapHeader(fieldsInUse_zgensym_189e87a53e58dbf2_32) 1665 if err != nil { 1666 return err 1667 } 1668 1669 if !empty_zgensym_189e87a53e58dbf2_31[0] { 1670 // write "MyEmail__str" 1671 err = en.Append(0xac, 0x4d, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1672 if err != nil { 1673 return err 1674 } 1675 err = en.WriteString(z.MyEmail) 1676 if err != nil { 1677 return 1678 } 1679 } 1680 1681 if !empty_zgensym_189e87a53e58dbf2_31[1] { 1682 // write "MyFullname__str" 1683 err = en.Append(0xaf, 0x4d, 0x79, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1684 if err != nil { 1685 return err 1686 } 1687 err = en.WriteString(z.MyFullname) 1688 if err != nil { 1689 return 1690 } 1691 } 1692 1693 if !empty_zgensym_189e87a53e58dbf2_31[2] { 1694 // write "MyLogin__str" 1695 err = en.Append(0xac, 0x4d, 0x79, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1696 if err != nil { 1697 return err 1698 } 1699 err = en.WriteString(z.MyLogin) 1700 if err != nil { 1701 return 1702 } 1703 } 1704 1705 if !empty_zgensym_189e87a53e58dbf2_31[3] { 1706 // write "PublicKeyPath__str" 1707 err = en.Append(0xb2, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1708 if err != nil { 1709 return err 1710 } 1711 err = en.WriteString(z.PublicKeyPath) 1712 if err != nil { 1713 return 1714 } 1715 } 1716 1717 if !empty_zgensym_189e87a53e58dbf2_31[4] { 1718 // write "PrivateKeyPath__str" 1719 err = en.Append(0xb3, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1720 if err != nil { 1721 return err 1722 } 1723 err = en.WriteString(z.PrivateKeyPath) 1724 if err != nil { 1725 return 1726 } 1727 } 1728 1729 if !empty_zgensym_189e87a53e58dbf2_31[5] { 1730 // write "TOTPpath__str" 1731 err = en.Append(0xad, 0x54, 0x4f, 0x54, 0x50, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1732 if err != nil { 1733 return err 1734 } 1735 err = en.WriteString(z.TOTPpath) 1736 if err != nil { 1737 return 1738 } 1739 } 1740 1741 if !empty_zgensym_189e87a53e58dbf2_31[6] { 1742 // write "QrPath__str" 1743 err = en.Append(0xab, 0x51, 0x72, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1744 if err != nil { 1745 return err 1746 } 1747 err = en.WriteString(z.QrPath) 1748 if err != nil { 1749 return 1750 } 1751 } 1752 1753 if !empty_zgensym_189e87a53e58dbf2_31[7] { 1754 // write "Issuer__str" 1755 err = en.Append(0xab, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1756 if err != nil { 1757 return err 1758 } 1759 err = en.WriteString(z.Issuer) 1760 if err != nil { 1761 return 1762 } 1763 } 1764 1765 if !empty_zgensym_189e87a53e58dbf2_31[9] { 1766 // write "SeenPubKey__map" 1767 err = en.Append(0xaf, 0x53, 0x65, 0x65, 0x6e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x5f, 0x5f, 0x6d, 0x61, 0x70) 1768 if err != nil { 1769 return err 1770 } 1771 err = en.WriteMapHeader(uint32(len(z.SeenPubKey))) 1772 if err != nil { 1773 return 1774 } 1775 for zgensym_189e87a53e58dbf2_24, zgensym_189e87a53e58dbf2_25 := range z.SeenPubKey { 1776 err = en.WriteString(zgensym_189e87a53e58dbf2_24) 1777 if err != nil { 1778 return 1779 } 1780 err = zgensym_189e87a53e58dbf2_25.EncodeMsg(en) 1781 if err != nil { 1782 return 1783 } 1784 } 1785 } 1786 1787 if !empty_zgensym_189e87a53e58dbf2_31[10] { 1788 // write "ScryptedPassword__bin" 1789 err = en.Append(0xb5, 0x53, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x5f, 0x62, 0x69, 0x6e) 1790 if err != nil { 1791 return err 1792 } 1793 err = en.WriteBytes(z.ScryptedPassword) 1794 if err != nil { 1795 return 1796 } 1797 } 1798 1799 if !empty_zgensym_189e87a53e58dbf2_31[11] { 1800 // write "ClearPw__str" 1801 err = en.Append(0xac, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x50, 0x77, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1802 if err != nil { 1803 return err 1804 } 1805 err = en.WriteString(z.ClearPw) 1806 if err != nil { 1807 return 1808 } 1809 } 1810 1811 if !empty_zgensym_189e87a53e58dbf2_31[12] { 1812 // write "TOTPorig__str" 1813 err = en.Append(0xad, 0x54, 0x4f, 0x54, 0x50, 0x6f, 0x72, 0x69, 0x67, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1814 if err != nil { 1815 return err 1816 } 1817 err = en.WriteString(z.TOTPorig) 1818 if err != nil { 1819 return 1820 } 1821 } 1822 1823 if !empty_zgensym_189e87a53e58dbf2_31[13] { 1824 // write "FirstLoginTime__tim" 1825 err = en.Append(0xb3, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x5f, 0x5f, 0x74, 0x69, 0x6d) 1826 if err != nil { 1827 return err 1828 } 1829 err = en.WriteTime(z.FirstLoginTime) 1830 if err != nil { 1831 return 1832 } 1833 } 1834 1835 if !empty_zgensym_189e87a53e58dbf2_31[14] { 1836 // write "LastLoginTime__tim" 1837 err = en.Append(0xb2, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x5f, 0x5f, 0x74, 0x69, 0x6d) 1838 if err != nil { 1839 return err 1840 } 1841 err = en.WriteTime(z.LastLoginTime) 1842 if err != nil { 1843 return 1844 } 1845 } 1846 1847 if !empty_zgensym_189e87a53e58dbf2_31[15] { 1848 // write "LastLoginAddr__str" 1849 err = en.Append(0xb2, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1850 if err != nil { 1851 return err 1852 } 1853 err = en.WriteString(z.LastLoginAddr) 1854 if err != nil { 1855 return 1856 } 1857 } 1858 1859 if !empty_zgensym_189e87a53e58dbf2_31[16] { 1860 // write "IPwhitelist__slc" 1861 err = en.Append(0xb0, 0x49, 0x50, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x5f, 0x73, 0x6c, 0x63) 1862 if err != nil { 1863 return err 1864 } 1865 err = en.WriteArrayHeader(uint32(len(z.IPwhitelist))) 1866 if err != nil { 1867 return 1868 } 1869 for zgensym_189e87a53e58dbf2_26 := range z.IPwhitelist { 1870 err = en.WriteString(z.IPwhitelist[zgensym_189e87a53e58dbf2_26]) 1871 if err != nil { 1872 return 1873 } 1874 } 1875 } 1876 1877 if !empty_zgensym_189e87a53e58dbf2_31[17] { 1878 // write "DisabledAcct__boo" 1879 err = en.Append(0xb1, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x74, 0x5f, 0x5f, 0x62, 0x6f, 0x6f) 1880 if err != nil { 1881 return err 1882 } 1883 err = en.WriteBool(z.DisabledAcct) 1884 if err != nil { 1885 return 1886 } 1887 } 1888 1889 return 1890 } 1891 1892 // MarshalMsg implements msgp.Marshaler 1893 func (z *User) MarshalMsg(b []byte) (o []byte, err error) { 1894 if p, ok := interface{}(z).(msgp.PreSave); ok { 1895 p.PreSaveHook() 1896 } 1897 1898 o = msgp.Require(b, z.Msgsize()) 1899 1900 // honor the omitempty tags 1901 var empty [18]bool 1902 fieldsInUse := z.fieldsNotEmpty(empty[:]) 1903 o = msgp.AppendMapHeader(o, fieldsInUse) 1904 1905 if !empty[0] { 1906 // string "MyEmail__str" 1907 o = append(o, 0xac, 0x4d, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1908 o = msgp.AppendString(o, z.MyEmail) 1909 } 1910 1911 if !empty[1] { 1912 // string "MyFullname__str" 1913 o = append(o, 0xaf, 0x4d, 0x79, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1914 o = msgp.AppendString(o, z.MyFullname) 1915 } 1916 1917 if !empty[2] { 1918 // string "MyLogin__str" 1919 o = append(o, 0xac, 0x4d, 0x79, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1920 o = msgp.AppendString(o, z.MyLogin) 1921 } 1922 1923 if !empty[3] { 1924 // string "PublicKeyPath__str" 1925 o = append(o, 0xb2, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1926 o = msgp.AppendString(o, z.PublicKeyPath) 1927 } 1928 1929 if !empty[4] { 1930 // string "PrivateKeyPath__str" 1931 o = append(o, 0xb3, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1932 o = msgp.AppendString(o, z.PrivateKeyPath) 1933 } 1934 1935 if !empty[5] { 1936 // string "TOTPpath__str" 1937 o = append(o, 0xad, 0x54, 0x4f, 0x54, 0x50, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1938 o = msgp.AppendString(o, z.TOTPpath) 1939 } 1940 1941 if !empty[6] { 1942 // string "QrPath__str" 1943 o = append(o, 0xab, 0x51, 0x72, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1944 o = msgp.AppendString(o, z.QrPath) 1945 } 1946 1947 if !empty[7] { 1948 // string "Issuer__str" 1949 o = append(o, 0xab, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1950 o = msgp.AppendString(o, z.Issuer) 1951 } 1952 1953 if !empty[9] { 1954 // string "SeenPubKey__map" 1955 o = append(o, 0xaf, 0x53, 0x65, 0x65, 0x6e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x5f, 0x5f, 0x6d, 0x61, 0x70) 1956 o = msgp.AppendMapHeader(o, uint32(len(z.SeenPubKey))) 1957 for zgensym_189e87a53e58dbf2_24, zgensym_189e87a53e58dbf2_25 := range z.SeenPubKey { 1958 o = msgp.AppendString(o, zgensym_189e87a53e58dbf2_24) 1959 o, err = zgensym_189e87a53e58dbf2_25.MarshalMsg(o) 1960 if err != nil { 1961 return 1962 } 1963 } 1964 } 1965 1966 if !empty[10] { 1967 // string "ScryptedPassword__bin" 1968 o = append(o, 0xb5, 0x53, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x5f, 0x62, 0x69, 0x6e) 1969 o = msgp.AppendBytes(o, z.ScryptedPassword) 1970 } 1971 1972 if !empty[11] { 1973 // string "ClearPw__str" 1974 o = append(o, 0xac, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x50, 0x77, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1975 o = msgp.AppendString(o, z.ClearPw) 1976 } 1977 1978 if !empty[12] { 1979 // string "TOTPorig__str" 1980 o = append(o, 0xad, 0x54, 0x4f, 0x54, 0x50, 0x6f, 0x72, 0x69, 0x67, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1981 o = msgp.AppendString(o, z.TOTPorig) 1982 } 1983 1984 if !empty[13] { 1985 // string "FirstLoginTime__tim" 1986 o = append(o, 0xb3, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x5f, 0x5f, 0x74, 0x69, 0x6d) 1987 o = msgp.AppendTime(o, z.FirstLoginTime) 1988 } 1989 1990 if !empty[14] { 1991 // string "LastLoginTime__tim" 1992 o = append(o, 0xb2, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x5f, 0x5f, 0x74, 0x69, 0x6d) 1993 o = msgp.AppendTime(o, z.LastLoginTime) 1994 } 1995 1996 if !empty[15] { 1997 // string "LastLoginAddr__str" 1998 o = append(o, 0xb2, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x5f, 0x5f, 0x73, 0x74, 0x72) 1999 o = msgp.AppendString(o, z.LastLoginAddr) 2000 } 2001 2002 if !empty[16] { 2003 // string "IPwhitelist__slc" 2004 o = append(o, 0xb0, 0x49, 0x50, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x5f, 0x73, 0x6c, 0x63) 2005 o = msgp.AppendArrayHeader(o, uint32(len(z.IPwhitelist))) 2006 for zgensym_189e87a53e58dbf2_26 := range z.IPwhitelist { 2007 o = msgp.AppendString(o, z.IPwhitelist[zgensym_189e87a53e58dbf2_26]) 2008 } 2009 } 2010 2011 if !empty[17] { 2012 // string "DisabledAcct__boo" 2013 o = append(o, 0xb1, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x74, 0x5f, 0x5f, 0x62, 0x6f, 0x6f) 2014 o = msgp.AppendBool(o, z.DisabledAcct) 2015 } 2016 2017 return 2018 } 2019 2020 // UnmarshalMsg implements msgp.Unmarshaler 2021 func (z *User) UnmarshalMsg(bts []byte) (o []byte, err error) { 2022 return z.UnmarshalMsgWithCfg(bts, nil) 2023 } 2024 func (z *User) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 2025 var nbs msgp.NilBitsStack 2026 nbs.Init(cfg) 2027 var sawTopNil bool 2028 if msgp.IsNil(bts) { 2029 sawTopNil = true 2030 bts = nbs.PushAlwaysNil(bts[1:]) 2031 } 2032 2033 var field []byte 2034 _ = field 2035 const maxFields33zgensym_189e87a53e58dbf2_34 = 18 2036 2037 // -- templateUnmarshalMsg starts here-- 2038 var totalEncodedFields33zgensym_189e87a53e58dbf2_34 uint32 2039 if !nbs.AlwaysNil { 2040 totalEncodedFields33zgensym_189e87a53e58dbf2_34, bts, err = nbs.ReadMapHeaderBytes(bts) 2041 if err != nil { 2042 return 2043 } 2044 } 2045 encodedFieldsLeft33zgensym_189e87a53e58dbf2_34 := totalEncodedFields33zgensym_189e87a53e58dbf2_34 2046 missingFieldsLeft33zgensym_189e87a53e58dbf2_34 := maxFields33zgensym_189e87a53e58dbf2_34 - totalEncodedFields33zgensym_189e87a53e58dbf2_34 2047 2048 var nextMiss33zgensym_189e87a53e58dbf2_34 int32 = -1 2049 var found33zgensym_189e87a53e58dbf2_34 [maxFields33zgensym_189e87a53e58dbf2_34]bool 2050 var curField33zgensym_189e87a53e58dbf2_34 string 2051 2052 doneWithStruct33zgensym_189e87a53e58dbf2_34: 2053 // First fill all the encoded fields, then 2054 // treat the remaining, missing fields, as Nil. 2055 for encodedFieldsLeft33zgensym_189e87a53e58dbf2_34 > 0 || missingFieldsLeft33zgensym_189e87a53e58dbf2_34 > 0 { 2056 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft33zgensym_189e87a53e58dbf2_34, missingFieldsLeft33zgensym_189e87a53e58dbf2_34, msgp.ShowFound(found33zgensym_189e87a53e58dbf2_34[:]), unmarshalMsgFieldOrder33zgensym_189e87a53e58dbf2_34) 2057 if encodedFieldsLeft33zgensym_189e87a53e58dbf2_34 > 0 { 2058 encodedFieldsLeft33zgensym_189e87a53e58dbf2_34-- 2059 field, bts, err = nbs.ReadMapKeyZC(bts) 2060 if err != nil { 2061 return 2062 } 2063 curField33zgensym_189e87a53e58dbf2_34 = msgp.UnsafeString(field) 2064 } else { 2065 //missing fields need handling 2066 if nextMiss33zgensym_189e87a53e58dbf2_34 < 0 { 2067 // set bts to contain just mnil (0xc0) 2068 bts = nbs.PushAlwaysNil(bts) 2069 nextMiss33zgensym_189e87a53e58dbf2_34 = 0 2070 } 2071 for nextMiss33zgensym_189e87a53e58dbf2_34 < maxFields33zgensym_189e87a53e58dbf2_34 && (found33zgensym_189e87a53e58dbf2_34[nextMiss33zgensym_189e87a53e58dbf2_34] || unmarshalMsgFieldSkip33zgensym_189e87a53e58dbf2_34[nextMiss33zgensym_189e87a53e58dbf2_34]) { 2072 nextMiss33zgensym_189e87a53e58dbf2_34++ 2073 } 2074 if nextMiss33zgensym_189e87a53e58dbf2_34 == maxFields33zgensym_189e87a53e58dbf2_34 { 2075 // filled all the empty fields! 2076 break doneWithStruct33zgensym_189e87a53e58dbf2_34 2077 } 2078 missingFieldsLeft33zgensym_189e87a53e58dbf2_34-- 2079 curField33zgensym_189e87a53e58dbf2_34 = unmarshalMsgFieldOrder33zgensym_189e87a53e58dbf2_34[nextMiss33zgensym_189e87a53e58dbf2_34] 2080 } 2081 //fmt.Printf("switching on curField: '%v'\n", curField33zgensym_189e87a53e58dbf2_34) 2082 switch curField33zgensym_189e87a53e58dbf2_34 { 2083 // -- templateUnmarshalMsg ends here -- 2084 2085 case "MyEmail__str": 2086 found33zgensym_189e87a53e58dbf2_34[0] = true 2087 z.MyEmail, bts, err = nbs.ReadStringBytes(bts) 2088 2089 if err != nil { 2090 return 2091 } 2092 case "MyFullname__str": 2093 found33zgensym_189e87a53e58dbf2_34[1] = true 2094 z.MyFullname, bts, err = nbs.ReadStringBytes(bts) 2095 2096 if err != nil { 2097 return 2098 } 2099 case "MyLogin__str": 2100 found33zgensym_189e87a53e58dbf2_34[2] = true 2101 z.MyLogin, bts, err = nbs.ReadStringBytes(bts) 2102 2103 if err != nil { 2104 return 2105 } 2106 case "PublicKeyPath__str": 2107 found33zgensym_189e87a53e58dbf2_34[3] = true 2108 z.PublicKeyPath, bts, err = nbs.ReadStringBytes(bts) 2109 2110 if err != nil { 2111 return 2112 } 2113 case "PrivateKeyPath__str": 2114 found33zgensym_189e87a53e58dbf2_34[4] = true 2115 z.PrivateKeyPath, bts, err = nbs.ReadStringBytes(bts) 2116 2117 if err != nil { 2118 return 2119 } 2120 case "TOTPpath__str": 2121 found33zgensym_189e87a53e58dbf2_34[5] = true 2122 z.TOTPpath, bts, err = nbs.ReadStringBytes(bts) 2123 2124 if err != nil { 2125 return 2126 } 2127 case "QrPath__str": 2128 found33zgensym_189e87a53e58dbf2_34[6] = true 2129 z.QrPath, bts, err = nbs.ReadStringBytes(bts) 2130 2131 if err != nil { 2132 return 2133 } 2134 case "Issuer__str": 2135 found33zgensym_189e87a53e58dbf2_34[7] = true 2136 z.Issuer, bts, err = nbs.ReadStringBytes(bts) 2137 2138 if err != nil { 2139 return 2140 } 2141 case "SeenPubKey__map": 2142 found33zgensym_189e87a53e58dbf2_34[9] = true 2143 if nbs.AlwaysNil { 2144 if len(z.SeenPubKey) > 0 { 2145 for key, _ := range z.SeenPubKey { 2146 delete(z.SeenPubKey, key) 2147 } 2148 } 2149 2150 } else { 2151 2152 var zgensym_189e87a53e58dbf2_35 uint32 2153 zgensym_189e87a53e58dbf2_35, bts, err = nbs.ReadMapHeaderBytes(bts) 2154 if err != nil { 2155 return 2156 } 2157 if z.SeenPubKey == nil && zgensym_189e87a53e58dbf2_35 > 0 { 2158 z.SeenPubKey = make(map[string]LoginRecord, zgensym_189e87a53e58dbf2_35) 2159 } else if len(z.SeenPubKey) > 0 { 2160 for key, _ := range z.SeenPubKey { 2161 delete(z.SeenPubKey, key) 2162 } 2163 } 2164 for zgensym_189e87a53e58dbf2_35 > 0 { 2165 var zgensym_189e87a53e58dbf2_24 string 2166 var zgensym_189e87a53e58dbf2_25 LoginRecord 2167 zgensym_189e87a53e58dbf2_35-- 2168 zgensym_189e87a53e58dbf2_24, bts, err = nbs.ReadStringBytes(bts) 2169 if err != nil { 2170 return 2171 } 2172 bts, err = zgensym_189e87a53e58dbf2_25.UnmarshalMsg(bts) 2173 if err != nil { 2174 return 2175 } 2176 if err != nil { 2177 return 2178 } 2179 z.SeenPubKey[zgensym_189e87a53e58dbf2_24] = zgensym_189e87a53e58dbf2_25 2180 } 2181 } 2182 case "ScryptedPassword__bin": 2183 found33zgensym_189e87a53e58dbf2_34[10] = true 2184 if nbs.AlwaysNil || msgp.IsNil(bts) { 2185 if !nbs.AlwaysNil { 2186 bts = bts[1:] 2187 } 2188 z.ScryptedPassword = z.ScryptedPassword[:0] 2189 } else { 2190 z.ScryptedPassword, bts, err = nbs.ReadBytesBytes(bts, z.ScryptedPassword) 2191 2192 if err != nil { 2193 return 2194 } 2195 } 2196 if err != nil { 2197 return 2198 } 2199 case "ClearPw__str": 2200 found33zgensym_189e87a53e58dbf2_34[11] = true 2201 z.ClearPw, bts, err = nbs.ReadStringBytes(bts) 2202 2203 if err != nil { 2204 return 2205 } 2206 case "TOTPorig__str": 2207 found33zgensym_189e87a53e58dbf2_34[12] = true 2208 z.TOTPorig, bts, err = nbs.ReadStringBytes(bts) 2209 2210 if err != nil { 2211 return 2212 } 2213 case "FirstLoginTime__tim": 2214 found33zgensym_189e87a53e58dbf2_34[13] = true 2215 z.FirstLoginTime, bts, err = nbs.ReadTimeBytes(bts) 2216 2217 if err != nil { 2218 return 2219 } 2220 case "LastLoginTime__tim": 2221 found33zgensym_189e87a53e58dbf2_34[14] = true 2222 z.LastLoginTime, bts, err = nbs.ReadTimeBytes(bts) 2223 2224 if err != nil { 2225 return 2226 } 2227 case "LastLoginAddr__str": 2228 found33zgensym_189e87a53e58dbf2_34[15] = true 2229 z.LastLoginAddr, bts, err = nbs.ReadStringBytes(bts) 2230 2231 if err != nil { 2232 return 2233 } 2234 case "IPwhitelist__slc": 2235 found33zgensym_189e87a53e58dbf2_34[16] = true 2236 if nbs.AlwaysNil { 2237 (z.IPwhitelist) = (z.IPwhitelist)[:0] 2238 } else { 2239 2240 var zgensym_189e87a53e58dbf2_36 uint32 2241 zgensym_189e87a53e58dbf2_36, bts, err = nbs.ReadArrayHeaderBytes(bts) 2242 if err != nil { 2243 return 2244 } 2245 if cap(z.IPwhitelist) >= int(zgensym_189e87a53e58dbf2_36) { 2246 z.IPwhitelist = (z.IPwhitelist)[:zgensym_189e87a53e58dbf2_36] 2247 } else { 2248 z.IPwhitelist = make([]string, zgensym_189e87a53e58dbf2_36) 2249 } 2250 for zgensym_189e87a53e58dbf2_26 := range z.IPwhitelist { 2251 z.IPwhitelist[zgensym_189e87a53e58dbf2_26], bts, err = nbs.ReadStringBytes(bts) 2252 2253 if err != nil { 2254 return 2255 } 2256 } 2257 } 2258 case "DisabledAcct__boo": 2259 found33zgensym_189e87a53e58dbf2_34[17] = true 2260 z.DisabledAcct, bts, err = nbs.ReadBoolBytes(bts) 2261 2262 if err != nil { 2263 return 2264 } 2265 default: 2266 bts, err = msgp.Skip(bts) 2267 if err != nil { 2268 return 2269 } 2270 } 2271 } 2272 if nextMiss33zgensym_189e87a53e58dbf2_34 != -1 { 2273 bts = nbs.PopAlwaysNil() 2274 } 2275 2276 if sawTopNil { 2277 bts = nbs.PopAlwaysNil() 2278 } 2279 o = bts 2280 if p, ok := interface{}(z).(msgp.PostLoad); ok { 2281 p.PostLoadHook() 2282 } 2283 2284 return 2285 } 2286 2287 // fields of User 2288 var unmarshalMsgFieldOrder33zgensym_189e87a53e58dbf2_34 = []string{"MyEmail__str", "MyFullname__str", "MyLogin__str", "PublicKeyPath__str", "PrivateKeyPath__str", "TOTPpath__str", "QrPath__str", "Issuer__str", "", "SeenPubKey__map", "ScryptedPassword__bin", "ClearPw__str", "TOTPorig__str", "FirstLoginTime__tim", "LastLoginTime__tim", "LastLoginAddr__str", "IPwhitelist__slc", "DisabledAcct__boo"} 2289 2290 var unmarshalMsgFieldSkip33zgensym_189e87a53e58dbf2_34 = []bool{false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false} 2291 2292 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 2293 func (z *User) Msgsize() (s int) { 2294 s = 3 + 13 + msgp.StringPrefixSize + len(z.MyEmail) + 16 + msgp.StringPrefixSize + len(z.MyFullname) + 13 + msgp.StringPrefixSize + len(z.MyLogin) + 19 + msgp.StringPrefixSize + len(z.PublicKeyPath) + 20 + msgp.StringPrefixSize + len(z.PrivateKeyPath) + 14 + msgp.StringPrefixSize + len(z.TOTPpath) + 12 + msgp.StringPrefixSize + len(z.QrPath) + 12 + msgp.StringPrefixSize + len(z.Issuer) + 16 + msgp.MapHeaderSize 2295 if z.SeenPubKey != nil { 2296 for zgensym_189e87a53e58dbf2_24, zgensym_189e87a53e58dbf2_25 := range z.SeenPubKey { 2297 _ = zgensym_189e87a53e58dbf2_25 2298 _ = zgensym_189e87a53e58dbf2_24 2299 s += msgp.StringPrefixSize + len(zgensym_189e87a53e58dbf2_24) + zgensym_189e87a53e58dbf2_25.Msgsize() 2300 } 2301 } 2302 s += 22 + msgp.BytesPrefixSize + len(z.ScryptedPassword) + 13 + msgp.StringPrefixSize + len(z.ClearPw) + 14 + msgp.StringPrefixSize + len(z.TOTPorig) + 20 + msgp.TimeSize + 19 + msgp.TimeSize + 19 + msgp.StringPrefixSize + len(z.LastLoginAddr) + 17 + msgp.ArrayHeaderSize 2303 for zgensym_189e87a53e58dbf2_26 := range z.IPwhitelist { 2304 s += msgp.StringPrefixSize + len(z.IPwhitelist[zgensym_189e87a53e58dbf2_26]) 2305 } 2306 s += 18 + msgp.BoolSize 2307 return 2308 }