(cherry picked from commit edbc8634ebb59aafb58b0d2ad56e0a4036836194)
(cherry picked from commit cf9bbb8b410e349dba80309e101529780f529dfd)