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