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