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