***** ********* ********* ** ********* ** ** ****** ****** ******* ******* ****** ** ** *** ******
** ******* ************* ******* ***** ** ******* ******* ** ** ******* **** ******** *** *** *********** ** ********* ******** ** ****** ********** ** ******* *** *********** ** ****** ** **** ** ** ***** ** ******* ** ****************** *************