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