(cherry picked from commit d1c303a49763029fffa5164295034af8e81e74a0) (cherry picked from commit eb1ddcd04c9b0457e19fcc3b320d5b86cc1fda64)
(cherry picked from commit d1c303a49763029fffa5164295034af8e81e74a0) (cherry picked from commit eb1ddcd04c9b0457e19fcc3b320d5b86cc1fda64)