(cherry picked from commit 2d62bcc99fa86c58545bb612f7df2a5a6b36baee) Former-commit-id: 665ab1aa307462a7ee21d1c3b118258b60ed0010
(cherry picked from commit 3f5066064e5cb01b3df1ff1e4ac5bfdec12a8046) Former-commit-id: c94c6bc341be9ecdec2ff079a51cdc6ba6a269e8