Generated code from  1f6764102caf4a3c1e7677be3096c08bfb7a4cb1