(cherry picked from commit 43d0ce1edf44dbfdf760cdcdc2db428c8a118927)
(cherry picked from commit 5645dcaa570c7d64cf617a15d7a6795270ce999d)