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