code: func (l *lan) authMD5(data []uint8) []uint8 {
  	h := md5.New()
  
  	binaryWrite(h, l.authcode)
  	binaryWrite(h, l.SessionID)
  	binaryWrite(h, data)
  	binaryWrite(h, l.Sequence)
  	binaryWrite(h, l.authcode)
  
  	return h.Sum(nil)
  }
docs: // per section 22.17.1