(cherry picked from commit ddcd6954d03d3caadc8b69f7b886a3a17c3c9d0c) (cherry picked from commit 8cdfdbf815bf89eee3184ec7cd00e1924c1ea316)