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