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