dffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffffdffffffffffffffffffffffff