------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"""""*D"*777*""7D******"""""D"""D"*"*777D*""7******"""""D""""*D"77""77******""""D"D""""*"*"777**7*"""""C"""C77777777""7"7"*"C**C****""""C""""C7777777"777"7C"**"**CC****""""CC"7C"777C777"7"7"7"*******""""CCCCCCC"CC77"""7"""77"*77"*7******"""""z"z""z*"""""**z**z***z"""""z""z"**z"""**z"**z******"""""""""*"**"""********"""""""""*z"*"*"******"""""""""*"**"**""*****"""""""""*"**""******"""""""""*""*"""********""""""""""*"""**"********"""""""""*"**""******"""""""""*"*"*******""""""""H"*"H"**"********""""H""""H""*"H"**""H"********"""""""**"*""*"""""""""""**"****"""""""""""**********"""""""""""""""************""""