golden shower - gabriele chirienti
                                                             .@88XStSt   SX8888888888@  .. SS S  X@XXS8X88@88888;@8X@XStS%:%X@@8S%8X@8888@@XS   ..;:%SXXS  S SS        tSSXX888XS:.                                                                                                                         
                                                             :888XXSXt: @ 888888888888% . @SS@S @X%X8@88@SXXS;:%:t88::;;SXt.%S:;SX8SS@8888888S    :t%88.  XS@SSX       :%@88@88@S;..                                                                                                               .... ....
                                                            .t88@%XS%t  XXXXS    @8@8XX@8@8XSX88X@X@888@StS%%:;t;St:t;;t8%:;:tS%X8X%88@X8888@SS  :t%St @X88@@SSSX@X8@  .tXSXX888X;:.                                                                                                       ... ...     .   .
                                                            .X8@XX;t.  X X888XX ttX@@SS;t%XX 8X8888888@8%XtX@tX@XX88t;8@Xt%%@8%@88888888@ 8@    %%t; 88X888@@SXX%SXSXX  .SSX@@88XS:.                                                                                                   .  ..     .   . . .. 
                                                            .X8@SSS; SSXSX@888@8 88%t;%%tt%tt8@88888888888888@88888XS88@88888888@88888@SS     .;;; X8888X88@SXXXXXXSS%  .tXXX888@S:.                                                                                                   ..       .. .. ..    
                                                            .X88X%S; SXSX8888@8SttX%;: .;...: XS@@@@@888888888@@888X88X8888888XX S           .   @88@8888888@888@8@S% S .tS88X888X:.                                                                                                          ..   .    .. .
                                                            .@8XS@t.  888888@X@SS%XX%;. .;..  .;S%;;;S88XSX888@8@@   :X;. 88S   %   X     :%:S@8SXXSS88888@88888888SSS   :S8SX888@t:.                                                                                          .    ..       ..  . . .   . .
                                                            .X8@S%t: @XS888S%SXX@888S:: .  :t.; .:..:;;t;;t@8X8XXSX    @8@S S S         ;St:S8@@XX@XX8888888888888@ XS %.;SXSX@888X:                                                                                           .    .            .  . .. .. 
                                                             X8@XS;.SX@@8@8@@%S%XX@S%St;;..:.;::;..;t .St%;:tX@@@X88@88X@SSS     S    %X@%:.;SXt;SSXSX@XX@88888888@@ @%  .tXS@X888S;.                                                                                                               .   .   
                                                            .S8@XS:. @@88@8@S%t.:%%;tS%XtS::tt..;;::;.:X@t@@S8@ S   :@Xt%SX%SXt   X@S%S% :;:;;X;S88S8@XS%XX88@8888888S S  :S@8XX88@S.                                                                                    .             .     .   .    .   . 
                                                             X8@X%t. 8X8888St%t%;%%;tSSX8XSt;%;tt: ..:t@8888XSttS@88X88 8X8X 8888@%;;S%tt;:tS%S88X@8@%%S%X88XX@88@88SXX   .tS%8@888S:.                                                                                             .   ..        .  .   .  .
                                                             S8@XS; @XX88888X%;::;;%@XS@@88@@@@S;;. ..:; ...:....;;::%:...  .. .t.;%S%SXX@%XXSXS@@@@%SS@888XSXX8888XS%SX   :%XS8@88@;.                                                                                                          .         . 
                                                             X8@St: 8X 8888XSSt:;;;;;tS88X@8@888@%::::%t.:.. ..;SSXSt;%:t..;:tS%S@@X@@8XSXXXSX8@X@XXt%88S@X@XS@8888@8% X%   ;%8X@88@t;.                                                                                                .      .       .  .  
                                                             S8XS%t. 88888X%;t... .. ..:%888888888S%%t%XS;%t;t.:%%%%XXXSSSS@SX8@@888@@8@S@@8888@SXS%SSXSXSSX@X@8888888@  S  :tS@@88@X:.                                                                                                      ..     .  .  . 
                                                            .X8@XSt S @888X%%t;.....:::....;88 XS8888@XXX@@8888888888888888888888X8@8888888@8S%S%%XSttt%t%X%tS%SX@S88XSSS   :tXS8888S;:.                                                                                                        .    .      
                                                            .S8@X%t XX888@%;;.:.:.  ..;;:: :;X8   XSX88@888888SXX@88XS8@888888888@88888@XX88@SSS%St; :. :%tt@SStXX@8@SS X   :tSX888@Xt:.                                                                  .                           ..    .     .  .. ... 
                                                             S8XXSt XSX88@St..:tt:.:;;;:;:..;tX8@    S@8888@888@@88888XX88@88@@8@X88@@@ @@8X@SS%tSt::..:  :;;tt%S@888SS S%  :SS8@888@X:.                                                                                                                    
                                                             S8@XS;  8@88@%. ;tttttt%tt%%%t. ;;tS8X  ;; @X8 S8@888@@S X @ 8XXXS SS@XX SSX@@X%;tt;t: .  ... :;t%%SX@88XS%    ;X@S@888@S;.                                                                                                     .         .    
                                                             S8@SSS. 8@888S ..%S%%t%SXX@tttt: ..;%88 .Xt:  8XS@8%@@XSXSS 8@X X @XXSX S S88@tttt.:.:    .: ...;t;S8@88@S     %XS8S888@@t:.                                                    .   .    .   .                                      . ..  ..   
                                                             S888@S: 8888@@:.::%SX%SS@XXStt%::: :tS88% %8;.    X X %       S      S   @X88SSS;t%. :.      .. .;SSX@8@XXXS  :SS@X@@@888S:.                                                . ..   .            .                                   .       .. 
                                                             t88@X%; S@888St.:;tSXSXX%S%%%%t;:: .:%@88S  :8X:...              ....St.XX88X%S;.:. . .:.::  .:: :;%X888@% S  :SSS8X88888X:.                                                .    .           .                                   .  .  .     . 
                                                            .%88@SSt. @888@S:.tS@XS@8@X%%XXX%;tt. ;S@88X   88StX;.   :tX@t::SSSXS@8t 888XSXt;.:. . .:. :..;:   ;%X888@@S   .;X@XX8888@X;:.                                             ..     ..       .     . .                                            
                                                            .%88@SSS. @88XXS;.:%X8@888@@88X@@%t:;:..%X@88S  %X8X@StXX@X88XSX@SX8X8S.X88XXXtt::... ::::. :;;::..tS@88@@X S  :%SXXXX@888@X:.                                                         .       ..                                          . . .
                                                            .t88@SS@;.%@8S%;; :;;SX8888@888XS%%:::..:%S@8@S .;888888888888@8@@888Xt 88@XX%t;   ...;%t;;;;tt; ..;t888XS S   :tSXXX@@888@S:.                                             .     .        .  .           .                          .     . .   
                                                            .t88XSSS%.S%8@S:...Xt;X88@@@88@%XSt:. :..:t@@8XS ..8X888@88X8888@88@8X @@8@XXS..:.. ;t;:tt;:;:.:. .:;X888XS    :tSSXSX@8888@;..                                           .     .    .  .     .         . . ..   .                  .   . .     
                                                            .;888XX8:. 888Stt:.:;tS@@X@@88XXSS%:::  .;%S888X % ;8X8@8888@888888S8; @888@X;.:;  :t:;%tt;:.:t;. :tS88@XX     ;SSX%SS@8888@t:.                                           .    ..    .  .     .                                         .       
                                                            .;@8888@%.%S888%%;  ;tt%X@X88@SS@SS;;. ..:t%SX88X  .%8@8888888@8888t8: 888@XSS%:: ...:;:;t..:ttt: :%X888XSS   :tXSX8X@S@8888@:.                                         ..   ..    . .  .   .                    .       .                      
                                                            .:888@XXt. S@88St; :;SXX@888888SX%; : . :;;S8@X88X  ;%8888888@88888%@.SX8@SSX@...  :. .;;:.:%%%;  .tS@88X S   ;SSXSSXSSX@888X;.                                        .  . .         .    ..  . .    .                .  ..  .       . .  .  ..
                                                            .:X888S%S:  8@8@%: :%XXXX88888@X%S%;...:::;tX88888@  ;@8888@8XX8888tX: 88@SSSt..:.... ..:..ttS%t: :;S888SS S .tSS%XXSXS@@@88@;.                                         .. .  . . . ... .  .           .    .  .      . .                       
                                                             :X@8@@@;. SS@88S;: ;%X@@8888XSSStt: .;.::;tSX8888S  .t@8X@;@S;8@X;;S.X88@XXSt;:;;. :: ::::;SSX% . :S@88@ X  .tXSXS@%@@X@888@t:.                                          .  .. ..      .             .    ..  ..   ..                       .  
                                                             .S@88SSS   SS88XS:. ;XS888X%%S%::....:.;::tXX888@XS  ;S8S;t:;S;X:::%.S@88@S%%S%St..;;. ...;tSSt:..;%S88@X    %XX@SX@S@X@888@t:.                                           ..  .  . .   ..  ...      .            . .           .        .      
                                                             .;8888XS%:  X8@S%t .;%X88SX%S%tt:.....:;t%%tSX@88@XS .;88;::......;: X888@S%SXSXt: :::...::;S%t%.:ttX88S X  :%@@@X@X@S@@@888t:.                                             ..    . ..     .  ..  . .    .  .                    .        . .. 
                                                             .t888@@@St  X@8XSt.::%%%@8X%%S :  : ..:t;tSS@X8888 @  :S@X...   ..X. @888XSSS@S%%;;... ...:;%S%t..tS888@S    ;SXSX@88SX@@888X.                                             . .    .  ..  .        .   .. .  .              .. . .        ..  . 
                                                             .;@888XSXt  SX88%;:...;%t%S%;tt ..:: .t::t%%@888888S  .X88;..     X. X88@S@SX8St%t;tt:: .: ttttt:.tX@88@ S   .%@XX@SSSS@@@8@S..                                          . .   ... .. .   .    .      .                     .   .       .  .   
                                                             .;X88@SS@;.  888@St;..;t%S%t;;:...:ttt%tt@SS@888@8XSS .%X8X.    . @  XX8888@XSX%S%ttt.: ..:.;t::.:;%@@888    :%S%X%XSSS@@88XS:.                                          ..  ...       .    .      ..                                    .     
                                                             ..t8888@@Xt SX88@@S;:. ;:t.;;.. .ttt%SSS%SX88888@S S   :S88:.   . X  SS@8888XX8X8%%tt:;. . .;;;:.:t%@88@XX   :;SX%X@XX8SX88XS;..                                       ..  . .   . .   ..     . . .. .      .      .        ..          . .    
                                                              .X@888@Xt;  X888@%S;:: ;;: .. :. :tSXXtSXS88888@XX X  :%@8;..    t.  @S8888tX888X:;t::: .: ;;;; ;%S@888X X  .;tXSSSXS@XX888Xt:.                                      .          . ...     .  .  .        . ..   . .. .   ..  ..  ......    .  
                                                              .;888@SSS:  8X888%t;:... ........:%SXSXSX@X8@88X X%   ;XX8X     .;:  SSX88@SX888S%Stt;..:::.::: ;:%@88@SS    tSt%SXXSSXX88XXt:.                                         ..  ....        ...  . . .  .. ...     ..                .        .   
                                                              .;8888S@Xt  @X888X%;;::::..... ..:ttS8XX@88888@@S  S .%@@8t:.   ..@   SXX88@8888XXS%XSt;;::. : .:;%X8888SS   .;t%SSXSSSX888@t;.                                         .   .   .     .       .      . .             ..  .    .               
                                                               ;@@88XXt; X 8888XS%;:..:  . ;. :%S;S@@8@888@ @X @   ;XX88@.    . @.   XSX@88@@8@@SS%X%t;:;.  ..:tS8X88@XS%   ::ttX@8SSX@8@@X:.                                      .     . ..  ... ..    .. .  .  .     . .          .    .                 
                                                              .:X@88X%%t. @S888@St%;.. ;.....tttt%S8888888@SSXS S  %XS88t:.   . :t; S S 8@8X88888XX@Stt:::: .:;;S8888@X S   .:t%@@8SS8@88@S:.                                          ...    ... .   .   . . ..     ..     ....                            
                                                               .t888@X%t   888@@S%%tt:.:tt.:t%%%SXXX8888888XS X   :XS888t:.    . 8t:  % XSXX@88888@X%@S%t. ...;;tS88@@@@ %   :%SX@%X@X@88@S:.                                         .     ..    . . ..  .                .        ..            .       . 
                                                               .%888@SX; SS 8888XS%St;;;%S;:t%SS@888888@@8XXX S   ;X8@88;:.    . ;SS;. X S%XXX%X@8@SX%S%%::    :S%888@@XS%   :;SXtSXSS@888X;..                                       ..   ..  . ...  .  . . .  ...  .  .    .   . ..   ...     ... ..  .. . 
                                                               .t@88@S%;   @SX8@@XX%%%%S%%S%%SX88@888888SXSX% S  .%@X8@S:.      .:8SS:. X S @SS@8@SX@XXXt::.;:.;tt@888@S      ;:;S@@SX@888X;:.                                          .. .. ...   .. .   .   .  . .. .   .    .  .                    .   
                                                               .;X88@@St;  X 888@@XXSSS%SSSX@X@88888@8@ %  S S   ;XS@8X;:.       .;XXt;  % S SX@888X@@XXX%%tt;;tSS8888@XSS    ...;@SX8@88@@t;.                                       . .  ..  .   ..  . ....  .   ..     ..  . .    ..        .           . 
                                                               .:S@8@@St;.  8%X8888@@@@@XX8@@88888@@XXXXXSS     :t@X88@;:.       ..8XSS:    X @X88888@@X@@SSS%SSSX888SXX S       ;8S@X@888@X.                                        .  ..  . .. ..   .       .  .    .  .   . ...   .      ..    .  ...    
                                                                .SX88XSt;.    @X@88@@X@88@8888888888 @ S   S   .%8S8@8t;.          :XXSt     XSS@@@@888888@XStt;t@@88@XXS XSS   .;X@SXX888@t;.                                             .. ..    ..  ...  . ..    .. . . .         .         . .       . 
                                                                .;@88XX%%.  XS @X88@88888X888@8888888@ S%      tSS@@8@t:.         ..tX@S%;;.   X @S@8X8888@X%%t%%%X888SSS%% S   .tX@@S@8888@;.                                          . .   . ....         ..    ..             ...       .               
                                                                .;X88X88;.  S 8@@88@@8888888@@X8888@XSS  X    .%SS@88Xt:.          ..88@SS%%;. SS 888X 88XXSSttt%S@888XSXSX@ S  :%%8@@88888X;.                                            . ... . . ..  .  .  .     . .   . ..       .   ...    ...         
                                                                .;X@8@SXS;   @%S@8888888@88888XX@888S S       ;XS8X88X;..            :8XS88SS;   @XX@S 8@8888S%S%S8888XXXXSSS S :%X@88@8888@;:.                                         .   .  .  ..  ..   .   ....   ..      .  ..     ..                  
                                                                .:SX8@@Stt:   XXX@8888888X8888@@XXSSXX @     ;XXX@@8@t;.            . ;@8@S8%t:  S @XX@88888@SXSX8@8@XSSSX% X   ;t%88@X@888@t:.                                           .. .  ..   ..   . .      .   .               ..             ...   
                                                                 .t88@%8XXS;:  %XSX8888888@888@SXS @SSS S   ;S@@@888@t;.             ..@@@X@8tt   X%S@XX8@88@S@X@888888@X XS S  %SSSS8@@888@X.                                          ..    ..  .. .  ...  ..  . . . .  .  . . .            .     .       
                                                                 .t@888XS%Xt.   XXX888888@XXS@@XSXS S      :S@S@S@88@t:.               .88@@SXS:    SXXX@@8888888888888@XX 8%  :%SSS@S@8@88@t:.                                        .    .. .   ...   . .. . .   ..    .  ..  .                          
                                                                 .t@88X%@S%S;  X @@@X88@@8X SSS 8 XS      .%@S@@@88@X;:.              ..:88X@SSS;.  SSXX@@8888888888888@SXX S  .%@SSXXXX88888:.                                        .   ..   ..     .. ..  . .   .     . .     .  .              ..      
                                                                 .;XX888SSStt  S% SX@@XXSX8S  SSSX S   %  tXSX@X@888t;.                ..S8@XXXSS;   SX@@@88@@8888@8888SSSS: S .%8@S8SX88888@:                                         . ...   . .   .. ..  . ..  ..    .   .     .. .. .   . ..            
                                                                 .:t88@XXSSt.  S X 8SX@SX X XS S  @ %    :SXSS@@88@@t:.                  .888X@XS%:  %SSS@SXSX88888888@@XS S   .;@SXXXX@@888@:.                                          .   ...  ...  . .  .     .  ... . .   ..          ..   .           
                                                                  .t@8@XSS%t. S  @SS X% @8X S S S       :SSX8X8888@S;:.                   .88@@XX%t.  S% XSSXX@@888888888X@XS   .%SX8XXX8888@;..                                           ..   ... .  . ...   . .   .   .  .  .      .  ..                 
                                                                  .t@88@%X@;.   S @ @  @%XX%S%         ;%XXXX@8888XS;:.                   .;@88XSS%;  S X%%@ 8X@88@888@8@@X @ S .:S@SSX@8888@;:                                          ..  ... .  . ..     . .  . . . ..  ..   .  ...  .  ..    .      .  
                                                                  .;X88@@XSSt:   S @ @    S % X       :SSXXSXX8888S;;.                    .:@88@XSt%;   S @@XS@SSXX88888@X@8XS   ;XX@SXX8888@t:.                                          .   ..  . ..  .. .. . . ..   .                      .       ...   
                                                                 ..:S@88@@XSX:   S S% S S S  X        ;SS@XX@8888Xt%;.                     .:88@XSX%t.   @SSXSXSSSXX888@@XXXS %  tS@S@SX88@88X.                                            .. . ..   . ..  .   ..     ..   .  .  .          ..      ...     
                                                                 ..:t88@@XX%@@;   S X% X X %     S   .XX%XS@@888XXX;:.                     . S88XS@St:   S X%XXS@X@888@S@XX@X S  ;X@8SSX88888X.                                           . .. .......   .  . ..  .  ..  .. ...  . .. ..   ..     .         
                                                                   :t@888SSSSS;   S S @ X            ;XSXSX88888X%;t:.                       .@888XSS;.    %%XSSXSSSSS%SXSXSS    ;SSS8S8X8888X.                                         ...  .. .    ..   .. .  . ...  ..   .    .. . .  ..        .        
                                                                  ..;X888X@8X@S:  S  X S S           tX@8XS8888@St%;.                         :@8@SSXSt  X X%% 8SS% XSS@@XSXSS   ;%SX@XSX88@8X:.                                            .   .. ..  ... .    .  . . .   .   .         .     .   .        
                                                                  ..;X888X8%8S;;.  X   X   S        :%X8@@@8888XX%%;.                        ..;88XXtS%t.  8SS@XS%SSXSXXXS @  S  ;%SXS@S@88@X@:.                                        . .  .. .  .         .. ..     . .. .  .  .          ...      ...   
                                                                   .:t888SXXX@SSt.             ::. .;S%8@X@8888XX%t:.                         .:X8XS%XX%  S X 8 X% X @XS @S%S    :tSXXSX88@X@@;..                                         .    . .. .... ... .    .. .  .      .   . .   ..  .        .     
                                                                  . :S@888XXXS@@::.  % S    .. .:;.tS%@XX@8888@StS..                            .8XXXS%t:   XS @ XS @S 8XSX  S   :X@S@@S@8@@XX;:                                          .  ... . ..  .   .    ..   .. .   ..  .  .   .  . .     ....   .  
                                                                  ...;@888@S@%S%S%;:.      :;;:.;t%SS@SX@88888@X%;:.                             S@S%8X%t.   XX%S @X 8XS @SS     ;%XXSX8@88XSXt:.                                            .  . . .  .. .. ...   .     .... .   .    .          .         
                                                                    .%X888@XSXX@@@X%.     .t%St;tSSSXS8X@@888@XStt:                              :8@@SS%St.     S %SX @XX @SS S  :S%SXXX@8@XX@t:.                                          .    .  .. .  .   . .   .. .      .  ...      ..               . 
                                                                    .tS88@XXSXXX%XXS;.   .;%SSSS%XSS8@XX@88@@XSt%;.                             ..@@X@8XSS:  XS  S  @@S @S @     .tS@@8@@8@SX@X..                                          . .  . . ...  .....    .    .   .. ..       .  .        .        
                                                                   ..tXX88XXXSXSS%@@S:...;SSSX%XS%@X@8XX8@88@XS%t:.                               ;888SSXS;     X S  %SXS%X 8    .;%@8@S888XXXt;:                                          .  . . .. .. ..      ......   .. . .  . .. .      .  .  ..  .    
                                                                   ..;SS88@XX@SX8XX8XS%%%t;SXtXSXS;S@XXX888@XStX:..                              ..88@SSSS;:     S  X S X X%     ;SS@XX8@8@X@@X;:.                                         .     ... . ..   ..... .. ..  .    ..   . ..  ..   ...     ..    
                                                                    .:S;8888X%X@S8@%@@X@XXSSSXt@SXSSS@@@8888XS%%;.                                 ;8@SSSSS;:        X X X      .;S@XX@S@88@8@Xtt:.                                        .  . .  ... .  ...    .    ..  . ..  .. .    ..   .     .    .   
                                                                  .. .Xt888XSSS@@S8@8tXXXSXS@SXSSXSSX@X8888@SSXt:.                                ..@8X@SXSXS%.       X 8SSS  S .%XS@X@X@8888@XXX..                                       . . .  ..  .....    ......      . .   .  .. .  .    .       ...   
                                                                      SX%@88XS%SX@X@tSXSSX%SX@SSX8X@@8@8888XStt%:.                                  ;88XSSSXS%;.   X   X %  S   .;SS8XXX@88888@SX:.                                            .......  . ... .   . .  .. .   ..      .. .. ..        .   . 
                                                                      ;@%888@XXSXX@88XSX%SXXSX8X88S@888888@SXXtt;.                                 ..t88XXSSSStt;    %  S  S     :SSX88X@88888@XXS.                                          .     .    .   .. . .  ....    ..  ..  .        .   ... .    . 
                                                                    ..;@t888@X@SX@@XXS%XSSX88XSXXXXXX8888@XSt%X::.                                  .;88@XXS%SX@t.      %        ;XS8X@X@888888@@@.                                            . .. . ... .. ... .   .  ... .  .. .      . . .   .      .   
                                                                     .:@%888@SXSSt@@X@SXXS@XX@%8XXXX@8888XSXX%tt.                                   ..S88@XXXS88S:          %   ;SXX8XXX@888888@@8;..                                       .. . .  .  ...... . .  .   .     .             . .     .  . .   
                                                                     ..@@X888@S%X@SSXS@@XSS@SX8X@XX@@888@XXt@St:.                                     .X88@@8XSXttt:.   %     .tXSXXS8SXX@@8888888@.                                       .   .  ...  . . .. ..  .. ..     ..     .  .       .   .  . .  . 
                                                                       SXS888XSSXS@XXX%XSXX88SSX@@@@8888@SXX;tt;.                                      :888@SX@%XS%%t;.      .;SXX%@@SX@X@888888888;.                                    ..    . ......  .. .    .    .. ..     ....    . . .     .  .      
                                                                       t8S@88@@SS@XSSSS%@@@XSXXX@@@88888@St%X%t:.                                     ..S88XX@X@S@@SSX%;;.   ;S@SSXXXXSX@@@88888888X.                                         . .   ...... .....  ..   .  ..  ..      ..      .. .    .  .  
                                                                  . ...t8XS888@XXSS@S%@XSSS8X8@@@888888@XXX%%S;:.                                       .X88@X@@SSS@SXS%t;::;S%XXS@SX@@XX@8888@@8888:.                                     .. . .. ... .. . .. .   .   ..    ..    ..     ..  .   .   .  .. 
                                                               ...   ..t8X;888@@8@8XS@@@S8@@X@@@8@88888@XSSttt%:.                                        :88@8SSX8@@@SSSSS%X@XSSX8SXSXXSXX@@8@X@@@88S.                                     .      . ...  ..    .  . ..  .. .       .   . . .  ..   .  .     
                                                                    . .:88Xt88888@88@SXtXS8S8X@@8@88888@XS;SStt:.                                        .;888SXX@8SSXXSSSSXS@8@@XSSXSSXSXX@@@XXX@@8X:.                                         . . .. ..   ..  ..  .    .    .   .  . .   . .   ..     ..  
                                                               .   ..  :888tSS88888@88XXS@SSX@X@8888888@XS%%%St:.                                        .:S8@@SX8SX@tSS%XX%%8S@@SSXS@8%XSXX@@XXXXX88S.                                         .. . . .  .. .. . .    .  . .. ..       ..   .  .   ...  .  
                                                             .. ...   .:8888;XX888888@@XX@S@SSXX88888888XStS;@:.                                           :888XSX8@S@S8SSSSS:;XSSXSSS8XSSXX@@@SSXS88@:.                                      ..    . . ..  .     .  ...  . .  . . ..        .   .  .  ...  
                                                            .      . ..:8888t@SX@888888@XSXXXSXX@8888888@St;tt;:                                           .;88X@XXSXSXSSS%S;;SSSXSSXXSX@%8XX@X@XSS@88X.                                       .  .. ....  .. ....  ..   .   ..  . .  ....   .  .  . ..     
                                                         . ..    .  .  :8888@SX@@88888@XXXSSS@@@88888888@Xt;Xt;.                                           ..S88@XXXXXtXSSX%S%XSSSXSX%8@S8X@88@@XXSX@8@;..                                       .  .     ..  .  ... .. ..  ..   .   .    ...    ..  .  ..  
                                                         .      .     .:88888XX@888888@@@SSXX@X@@88888@8@Xt;t%;.                                             .@88XSXSSS@8@@%%XX88XXXS8SX@888888XSXSS@88X;.                                    .... .. . .. . .  .      .  ..  .  . .      .   ...  .   ..   
                                                         .     ..  . ..;88888@X@@88888@8@XXSXt8X@88888@@XSt;tt:.                                            . :88@XXS@XSS8@S%XSXSX@@XSXX8888888@SSSX@888t%;.                                       . .. . ..  . ...    ..    .. .  ..     . . .  .   .   .. 
                                                             ..     .. ;888888@8888888888X@S@@X@@@8888@XS;;::;:.                                             ..;88@8XSSSS%SSX@@S@XSSS@@888888888XX@XX@888@X;t:.                                .    .  . .  . ..   ....    ...          ..     .  .   ..  . 
                                                  .....      .    ..  .:8888888@888888888@X@SX@X888888XS;t:.::.                                               ..;8888XS%@%%SSSS@SS@S@@@88888888@SXXXX@888@@@@@;:.                            ...   .   . . .    .. . .. ..    . .    ...   ...  .  ..   .   
                                                  .     ..      . .  ..;8888888@@88888888@X@@S8888888@XXt;.:;.                                               . ..;888@@@S8%@SXX8@@%8XX@88888888@X@@@XX@888@@@@8@;;.                                  .. .  .  .                 . .       ..     ..   .     
                                                         .     ..   . .t8888888888888888@8@X@@8888888XXSt:.;:..                                                 ..:@888@@XX%@%8SS@XSS@@8888888@@@@@XXXX@@88888888@X;:.                            ...    ..  ..  . .     ...             .      .  .    ..  
                                                               . .  . .%888@@88@88888888888X@8888888@XSS;..;:.                                                   . :888888SXS@%@SX8SS@@8888888X@@XXSS%8@@88888888888X:.                          .  .  ...  .      .   .      ..  ..   ..    ....   . .  .. 
                                                   .    . .        . ..@@88@@8888888888888@888888@@@@ttt:....                                                  . ...;88888@@@X@X8@SSX@8888888@@@@@SSX@@X888888888888@Xt;:.                                  .   .  .  .. .   ..   . . .     ..      .. .    
                                                   .  ..    .    .   ..@88888@88888888@8888888888@@StStS:..                                                    .  ..:t888888@X@88@X@88888@8888@@@XXSSSXX@8@88@@88888888XS::.                       . ...  ..  . .  . .     ..         .  ....      . .   .. 
                                                  .   . ...  . . ..   ;888888@8@88888@XS88@@@8888@SXXtS;:.                                                     .......S8888888888888888888888@@@@@SS%8SX@@@@8X@8888888@@XXt;.                     .  .  ...   .  ..  .    . .   .  ..            ..     .   
                                                           .    .  . .@88888@@@8888888@@XX@888@XXSt%@@S:..                                                    ... .....X888888888888@88888888@@88@@88XSX8@@@8@@888@8888@@XX%%;.                     .        . . .    . . .    .    .        .. ..   .  ..  
                                                  .   . .     .   .  ;888888@@88888888888@88888XXXX@Xt;:.                                                         ..... :SX888@8@88888888888888888888X@8@@@@@@88@@888888@@X@XS;;.                  .   .. .. .     ..    .     .    .  ..    .     . . . .  
                                           .. . .   ..   ..       . .8888888@@@888@8888@8888@8@XXXSXtt:.                                                        ..   . ...:@88888888888@88888888888888888@@@@@@8888888888@XXSXStt:.              .    .. . .  ..   .        .  .   . .. .   . . .    .   .  
                                          . .             .    ...  ;8888888@X@88888888888XSS;XtXtX;;:.                                                       ..  .. ... ..:;X@8888888888888888888@88888@@X@@88@8888888888@XXSXXtt:.                 .           ..    .     .       .    ..   . ..   ..  . 
                                          .            ..          :88888888@@@X88888@88888888XX%%;::.                                                        .   .  .. ....:;t%8XX@88888888888888@888@@@@@@@@888888888888@@XXSXXtt;:               ..   ... .. . .      ..     .  .      . . .    .      . 
                                                     ..           .t888888@@@XSSX@88888888888@XSSt;::..                                                        ..  ..   . ...:;X;t%X@@@888888888@X@888@X@@@@8888888888888888@XSSSXtX:.            ..   ..   . .      .  .     .  .. .  .....  .. ... ..  .. 
                                            .   .     .     .   . :88888888@@XXSSXX@88888888@XXXXtt%%;.                                                      ...   .  .......:..;XS@SX@@8@888XSXS@@888@8@@@8888888888888888@@XXXSS%%%;..            . .   . ..  ..    . .    ..   .  .      .   .    . ..   
                                                         . .     .t88888888@@XXXXXX@@88888888@@XS%SS%:.                                                      .  ... . .. .......:.::;tXSSXXXSSSXX@8888888888888888888888888@8@XXXX@St%t..             ....   .      .. .           .   . .   ..  .. ....    
                                                    .    .     . :@@888888@@XX@@@XX@8888888888XSS%Xtt:.                                                     ... . ....  . ..........::;tXt@SSSXX@8888888888888888888888888@@X@@@XXtXXt%;.         .       .     .  .      ..  ... .       . .  .. .      .  
                                                   .             ;@@888888@@@@@XXXX@888888@@@XXSSttt:.                                                     ......    .... . ..  . ....:;t%S@t@XX@8888888888888888888888888@@@@X@XXXtXX;;:.                  . . ..                   .    .   .   . . . ..  
                                                                .t8@8888888@XX@@SX@@8888888888XSSS;:.                                                        . .. ..      .    .    ...::t%%SXt@X@888888888888888888888@@@@XXXXSXXX@tXt%;.        ..     .. .      ..   .   ..  .       ..   .. . .... .....
  . ....  ..                                               .    :X@@@88888@XXXX@XX@@8888888888XStt;:.                                                      .. .  ..   .      ... .   . .:::t%X%XSXX888888888888888888888@@XXXSXXSXXXXt@tt:.           ...   .  . .    . .       ..   ... . .  ....   . . .. 
  ..                                                          ..:XX@888888@X@X@@XXX@888888888@XX%t;..                                                       .  ..  ...     ..  .   . . ...::;tXt@SXX@@88888888888888888@XX@XXXXS@XXSXXtSt;.         ..    .     .   .     ..  .    ..       ..   .. ..  . ..
       ..                                                       ;XX@@88888@@XX@@@X@@888888@@8XSSt;;:                                                      .  .......  .. ..   ...  ...   ....::tSSSX@@@88@@8888888888@@@@@XXXSXXXXXSSSXXtt:.      ..   ...  .       .     .  .. .  .   .  .  . .   . ..  .. 
         .      .                                              .tXSX8888888@@@@@@@@88888888@XXStS;:.                                                       . .    .... . . ..   ..    .    .. .::tXSXXX@@@8@@888888@@@@@XXXXXSXXXXSSSSSStt;.      .         . ... . .  ....      ..    .. ..   .  ..   ...  
  ..   .                                                     . .%XXX@88888888@8@8@88888888@XXSt%t;:.                                                       .  .. ... . ..  . ..  .  .  .      . .:;tXt@XS@X@@888888@@@@@X@@XSXSXSXSSSS%tX;;:.       ..           . .        . ..      ..   . . ...  .... .. 
  .        .                                                 . ;Xt@XX88888888888@888888888@XSS%X;;:.                                                     ..  .  .    .  .  . . .    .. ..       ..:;;%%XSSXXXXX@8@@8@@XXXXXXXSXSSSSSS%Stt%t;..   .  .  ...  ..  ..     .   ..  .   ...   ... .    ....  ....
    ..   . . .  .                                             .;X%%8X88888888888888888888@@XSt%t;;;.                                                   .... ....   .. .     .  .     .   .       ...:tStXSSSXXX@@@@@@@@@X@XXSXSSSS;X;Xt@tSS::..    . .     .  . .  ....  ..   . . ..   ..   .....  ... .....
   ..      .   .   . .                                        .;SX%@X@8888888888888888888@@SXS%%t%;:.                                                  .    . .  .  .   .       . .... ..          ..::ttSt@SXXX@@@@X@@X@XXXSSSSSSX%XtX;@ttt;:.   .    .   . . . ...   ..... . ..  .  ..  .. . .... ...... .
 ..   ...    .    ..  .        .        . .    .        .     .t%SXS8@8@88888888888888888@@SStS%St%:.                                                .  .. ..   ............... ...    .  .        ...:::t%%XSSXXXXX@X@XXSXXSXSSSStXS%%St@t%%;:...  .. .  .  .    . ...  . ... . .. .. .... .. . ... .... ..
  .  ..     .     . .  .        ..   .   .     .  .    ..     .XS%@@XX@88888888888888888@@XSS%X;tXt..                                               ........  ..... ...... . ....   ....  ..    ..     ..:tttXt@SXXXS@XXXXSSXSSSSStXtX%SX;Xt%t;..  . .    .  ..    .. .  .    . ..  ... .. .......... ......
  ...   ...  .   .   .     ..     .  ..        .  ..  ..  .   .;XtS%@X@@888888888888888@@XXSSttt%%;..                                              .. .....  ............... .... ...... .    ..       ...;;t%XtXt@SXSXXSXXSSXSSSS%8%SX%%%%%%t;.. .     ..  . .....    .. .......  ... ......... ...........
  .  ....  .. .  .   .  . ..    ..       .  .   .   .. .   ....t%S8%@@@@888888888888888@XXSt%S%S%%;..                                           ................................... ... . .. .. .     . ...::;;%%SXtXSSSSSSXXSSSt@%XS%Xt@%Xt%%t::.. .........     ......  . . . ......... .......... .......