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