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