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