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