Generated code from  6d43ddc920a9a056dc83fff6c3f52d9685e2806a