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