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