Kinetic analysis of biomass pyrolysis using a double distributed activation energy model