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