(cherry picked from commit 39a15424167d41a54ad0562581304febf8e737e3)
(cherry picked from commit fb86dde53d9d8f758338bead70762d6b845d60bb)