(cherry picked from commit 174724da981d7cf4e7634114c62bd5ab07dae444)
(cherry picked from commit bdc80ea55b676dee414927f7faa6a0ca38471d66)