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