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