:'   ~~
                                                   ::'      :              
                                                 !'     ::
                   ;;;;::::;                    !~    :                     
                !!~'      `:                   !~   ::
              ;:           '::               !~    :::                     
              !       ~       `:            !~   .!:
              !        .        `:         !    :!!::::::::!!!!!!!!!_ssS"`:
     !!!!!`````     : n!:        `:      !~    <!!:::''''':!!!!!!!UM$CXU"':
    !!mm!!$$$Wi   :.$.! n     ~: .:!!!!~~                    !!.d$X"$$Xss.:
   !'$MMMkM$$$$k 'X!"!$s$$!    ~ '              .:::::::   .ud$$$$$$$*7.!!:
   !.MMMMMW##*$$k!$  $$$$ #                          .ssSS$$$$$*#TT?.`!!!!:
    !"RMMMMi ::..S$mmKj$$. $$                 ::!!XS$$$$$$$$S"  !!!!!!!!!!:
     !.MMMMMi`:::"$$$"`$$RMMM!            ..m<!!!X$$$$$$S"~<!!!  !!!!!!!!!:
      !.RMMMMB``::"$$  M$MMMP         .mmMMMM!!!!$$$SS"   `!!!!! ~!!!!!!!!!
       !.MMMMMb!.`;?$bd@MMP"  .x .xuMMMMMMMMM!!!!S"`:::::  `!!!!!'!!!!!!!!!
        !.MMMMK!!!'m`""!!!!'X!@%MMMMMMMMMM##"::::::::::::.  `!!!!~!!!!!!!!!
        !!.R"!X`!!MMM.!!!'%X$9RMMMMRRRM*"`   `::::::::::::;  !!!!:!!!!!!!!!
         !!'::.N!!MM.!!!'w$M$5XM8M#""`        :::::::::::::: !!!!!!!!!!!!!!
         !! :::`!!7::::!!$7!RRX*"`             ::::::::::::: !!!!!!!!!!!!!!
        !!'::::H"*;::::.9$W!?M~                ` ::::::::::: !!!!!!!!!!!!!!
        !::::::MmM::::::$$$NU     `:::           `:::::::::;.::!!!!!!!!!!!!
        ;`::::;MM::::::::T$$F      `::::          :::::::::;:::!!!!!!!!!!!!
        !`::;X88Nk::::::X$$F        :::::  :      :::::::::::::!!!!!!!!!!!!
         !.dX88888b;::;dPT"         :::::  '      :::::::::::::!!!!!!!!!!!!
          !:9888888bod888P          :::::: :     ::::::::::::::!!!!!!!!!!!!
           !`98888888888P:!!!       :::::: :     ::::::::::::!!!!!!!!!!!!!!
           !:78888888888!!!!!       :::::: :    ::::::::::::!!!!!!!!XX!!!!!
           !!.8888888888`!!!!:     :::::::.:    :::::::::::!X!!!!!XMMX!!!!!
           !!:8888888Q$$i`!!<~    :::::::':;   ::::::::::!XMM!!!XMMMMMX!!!!
           !!:888888@$*TT?::!<::.:::;::::::  ,::::::::::XHMM!!XMMMMR8MM!!!!
           !'78888P$#,!!!!!!.`::::::::::::' ::::::::::!XM8MM!!!!MM$$$MMX!!!
           !:E888PW?.!!!!!!!!!!`:::::::::: ,::::::::::!MM7!!!!!!?MM8$$MMX!!
           !'#!8P!#,!!!!!!!!!!!!!`::::::::,:::::::::::!7!!!!!!!!!!MR$$RMMX!
          !!.!%#T!,!!!!!!!!!!!!!!!!`::::::::::::::::::!!!!!!!!!!!!MM$$$MMM!
          !'!!!%H,!!!!!!!!!!!!!!!!!!`:::::::::::::::::!!!!!!!!!!!!XM$8$8MMX
          ! !!!!,!!!!!!!!!!!!!!!!!:.:::::::!::::::::::!!!!!!!!!!!!MMR$$$$M!
          !.!!!!!!!!!!!!!!!!!!!'.!!;;;;;::!!!::::::;;;!!!!!!!!!!!!MM$$M$$M!
           :!!!!!!!!!!!!!!!!!'.. ~!!;;;;;!!!!!!!;:::;;!!!!!!!!!!!!M8$$$$8!!
           :`!!!:!!!!!!!!!!!X:X !;;;;;;;;!!!!!!!;;::::;!!!!!!!!!!!MN$$$$$X!
            .!!!!!!!!!!!'XXX:XXX`;;;;;;;!!!!!!!!;;::;;;!!!!!!!!!!!MN$$B$$M!
             ::!!!!!!!!!XXXM;MMMX.;;;;;!!!!!!!!;;:;;;!!!!!!!!!!!!!M$$$$$$$X
               X!!!!!!!!XXM:MXMMMX.;;;!!!!!!!!!;;;<!!!!!!!!!!!!!!XM$$$$$$$$