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