(cherry picked from commit 64fba310) (cherry picked from commit b35707a9) (cherry picked from commit ead1c3cc)