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