(cherry picked from commit 749ca890e6e62671b4df69d020396ec93edadf16) (cherry picked from commit d6c29b2f5b953a0b747887cfc9cf4290f0402b1e)