visitor@systemout:~$
        

                                                                                                                                      + ++  ++ +   +
                                                                                                                            +    ;  + ;;;;;;++;++++ ++ + +  x+
                                                                                                                          +;;;;;;;;;:;:;;;;;::;;;;;;;++++xx+  +
                                                                                                                       ;;;;;;;;;;:::............  ..:;;;;;+;+++++
                                                                                                              ;;; ;;;;;;;;;:..... .                   .:..:;;+;++++xx+xxxxxx
                                                                                                            ;;;;;;;;;::....                          .. . ..:;;;;+++xx+x  x+xx
                                                                                                        ; ;;:::.... .....                     .      .:......:;;;:;;+++++x    xx     x
                                                                                                   ;;;;:;;.....    ...                    ... ...... .........:;;;;;;;;;;++x+  x+  +
                                                                                                  ;;;;:.. .  .   .. .    . .          ........... .......::;...:;;:;;:;;;;;++++xxxx++
                                                                                          ;     ;;;:..       .   .  .    .                    .........:..::;:.:;;:::;;;;;;;;;+;++xx +
                                                                                      ;   ;;:;;;:.           . . .                       .  .   .......:::.:;;.:;;::;:::;;:;;;+;;;++x++x
                                                                                            ;;..                  .                         ............:;::;;;;+;;;;;;::::;;;;;;;;;+;;+xx+x  +
                                                                                       ;  ;:..                                      .          ....::::.:;;:;;;+;+;;;;:::;;;;;;;;;;;;;;;+++ x+ +
                                                                                   ;;: ;::...                                          .. . .    ..:::::::::;;;+;+;;;:;:::::::::;;;;;;;;;;;+++ +x
                                                                                ;    ;;:..       .                                       :. ..  . ...:::;;::;;;;;++::::::.::;:;;::::::;:;;;;;++
                                                                                  ;;;:...                                               . :....... ;::;;;;;:;;++;+;;;:::..:.:::::.:::::;:;;;;;++++
                                                                                  ;::..                                                    ........:;;;;;;;;;;;++x+;::....::::;:;;:;.:.:::;;;;+++ ++
                                                                                ;:;..                                                      . :...:.:;++;;;+;;;+++x;;;;;::...::;;;;::;......::;;;;+x  +
                                                                               ;;:.                                                       .........:;+;;;;;;:;++x++;;:....:::;:::;;::;:;;....:;;;;++ + +
                                                                          ;;  ;:..                                                  .       ........;+;;;;;;;+++x+;;;:.::::;;;;;;;;;;;;:.;;::.::;;;+++
                                                                       ;     ;:.                                                     :.      .......:+:;;;:;++++x+;;;......::;;;;;.:;;;::..:;::::;;;+;+x+++
                                                                           :;..                                                      ...  ...........;;:;;;;+++++;;::.......:::;;;;:..::;;;.::.:::;;;++++ ++
                                                                        ;;;;.                                                 ..  .. ..::.......::...;::;;;;;;;;;;:...    .....::;;;;.....;:;;:..::;;;+ +++ +
                                                                     :   ;;.                                         ...................::.::::..;:.:::;;;;;++;;;:.......  ......;;:;:;:..:.::;:...:;;;;+ ++x+
                                                                   ;    ;:.                                      ......::::::;;:;:::::::::;::;;;::;:::;;;;;;;+;;;;;;:..   ..........;::;;:.:....::...;;;++  +++
                                                                 ;  ;  ;:.                                     .....:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++;;;;;:....  ....::::;:;;;;;.::....:.::;+;++  ++
                                                                ; ;   ;.                                    .....:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++++++;::.....      .....::;;;;:...:.;:::;;++   ++x
                                                                    ;;:                                     ...::::;;;;;;;;;;;++++++++++++++++++++++++++++xxxxxxxxx;;;;::..   . ..:;;:::;::;;;;...::..:;;;+x    +
                                                              ;   ;;;:                                     ...::;;;;;;;;;;;;+++++++++xxxxxx+xxxxxxxx+xxxxxxxxXxxXXx++;;;;:..     ...::::::::;::;;:.:::.:;;++  x+x+
                                                             ;   ; ;;                                     ..:::;;;;;;;;;;;+;+++++x++xxxxxxxxxxxxxxxxxxxXXXXXXXXXXXx+++++;;;:...      ....:;:::::.:::.:.::;;++  x x+
                                                             ;    ;;.                                    ..:::;;;;;;;;;;;;+++++xxxxxxxxxxxxXXXXXXXXXxxxXXXXXXXXXXXXXxxxx++;;;;:..            ....:.:;::::;;+++ +
                                                             ;   ;;:                                   . .:::;;;;;;;;;;;;++++++xxxxxxxxxXXXxXXXXXXXXXxXXXXXXXXXXXXXXXXXXxxx++;;;:...    ..:;.... ..:.:::::;;++++   ;
                                                             ;   ;;.                                  . ..:::;;;;;;;;;;;;+++++xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXxxx+;;;:..     ..::... .....:::;;++++x  x
                                                             ; ; ;;.                                   .::::;;;;;;;;;;;;+++++xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+;;;:..   ...:.;...... .:;::;+ ++  +
                                                             ; ; ;:                                   ..::::;;;;;;;;;;;++++++xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxx++;:..     ;..;:....  ...::++;+  +
                                                               ;;;:                                 ...::::;;;;;;;;;;;;;++++xxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$XXXXXXXXXXXxx+;;:.  ..:.. ....   ..:::;++x++x
                                                                 ;..                              .....::::;;;;;;;;;;;;;+++xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$X$$X$$XXXXXXXXXXXxx;;:.   ...:  ....  .:::;;+;x  +
                                                               ;;;:.                             .....::::;;;;;;;;;;;;;+++++xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$X$$$$$$X$XXXXXXXXx++;:.    :..  ...  ..:;;;+ +  +
                                                               :;;..                            .....::::;;;;;;;;;;;;+;++++xxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$X$$X$X$$$$$$XXXXXXXXxx+;:..   ...  ......:::;;  + +
                                                             ;; ;;.                             .....:::;;;;;;;;;;;;++++++++xxxxxxXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$XXXXXXxx+;:..   . .  .....:::;;+ +
                                                           ;;  ;;:.                          .......:::;;;;;;;;;;;;;+;+++++++xxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$XX$$$$$$$$$$$$$XXXXXxx+;:.   ...  .. ....:;++ x  +
                                                          ;   ;;;:.                          .......:;;;;;;;;;;;;+;++++++++++xxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$X$X$$X$$$$$$$$$$$$X$XXXXxx+;:.   ... ......:;;;+
                                                         ;  ;;;;;:                         ........::;;;;;;;;;;;;;+;+;+++++++xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$X$$$$$$$$$$$$$$$X$XXXXXx+;:.   ...... ..:;;++
                                                         ;+   ;;;..                       ........:::;:;;;;;;;;;;;;;;;;+++++++xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$XXXXXxx;;:.. .....  ...:;;+  x
                                                        ;    ;;;;.                      ..........:::.::.......:::;;;;;;;;;+++++xxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$XXXXXx+;;..  ....  ..::;+++
                                                          ;; ;;;;.                     .........:.... ...   ..........:::;;;;;;;++++xxxxxxxxxxXXXXXXXXXxXXXXXXXXXXXXXXX$X$$$$$$$$$$$X$XXXXXXXx+;:.  ...   ..:;++++
                                                        +;  ;;;;;.                    .........                  ..........::;;;;;;++++++x+xxxxxXXXXXXxxxXXXXXXXXXXXXXXXX$X$$$$$$$$$$$$XXXXXXXx+;.  ..  . ..:;++++x
                                                      ;;; +;;;.:.                     ..........      .                . ......::;;;;;+;++++xxxxxXXXXxx+xxXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$XXXXXXx+;.  .. .  ..;;+++ +
                                                     ;  ;;;;:;:..                    ......................                   ....:;;;;;;;+++++xxxXXXxx+xxxxxXxXXXXXXXXXXXXXXXXXXX$$$$X$XXXXXXxx+:   .    :.;;x +
                                                    ;  +;;;;;:....                  ........................                       ...::;;;;;++xxxxXXXxxxxXXXxXxxXXXXXXXXXXXXXXXXXX$X$$$XXXXXXXx;: . .    .:;+ ++x
                                                   ;   ;;;;;:::::..                 ..................   ..... ..                   .....:;;;+++xxxxx+++xxXXXXxxxXXXXXXXXXXXXXXXXXXX$X$X$XXXXXXx+: ..    .:;;;+   x
                                                  ;  ;++  ;;:.:.   .              .......:::::.....                  ....      ... ......:;;;;+++xxXx+++xxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXX$XX$XXXx+. ..    .:;+++   +
                                                  ; ;    ;;:::..                 .....:.:::::::.....      .        .     ...     .......::;;;;;+xxxxxx+++xxxxx+++++++;;xxxXXXXXXXXXXXXXXXXX$XXXX;. ..    .:;+;+  +
                                                  ;;  + +;;;::..                ...::..:::::::....        ..   .   .. .::   ..    .......::;;;;+xxXXXXxx+++x+++;;;;;;;;;;;;++xxxxXXXXXXXXXXXXXXX;.. .    .:;+;+ +
                                                 ; + +  ;;;:::.                ...:::::::::::.............           .;;:..   ...  .......:;;;++xXXXXXXXx+++;;;;;::::.:::.:;;;+++++++xxxxXXxXXXX+. .. .. .:+++x+
                                                    +; ; ;;;.:.     .          ..:::::::::::::::.......:::..........:;;::..     ... ......:;;++xXXXXXXXXXx;;;;;;:.....      ...:;;;;;;;;;+xxxXXX;. ..    .;;+++
                                                +    +;+;:;;...  ....         ..::::::;:;;;;;::::....:.:::;;;::;::....::....... ..........:;;+xxXXXXXXXXXx+;;:::......         ....::::;;+;;;xxX+. ..   ..;+++x
                                                     ++;;;;:.:....:... .     ..:::::;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;::::::.:....:::.:;;;+xXXXXX$XXXX+;;:::.....            ......;;:;;;;;;x+....  .:;++x+x
                                                    +;;;  ;.....::....      ...:::;::;;;;;;:;;;;;;;;;;;;:::::;:;;;;;;::::::::::::::;;;;:::;;;xxXXXXX$$XXX+;:........ .  ...................:;;+x;:..  ..:;++++
                                               ;    +;;  ;:.::.:::...       ..::::::;;;;;;;;;;;;+++++++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++xXXXXX$XXXX+;::.    ...  .      ..:::...::::;;;;;x;:.. ..:;++  +
                                               +   +;;+;:;;:::::...         ..:::::;;;;;;;;;;++++++++++++++;;+;+;;;;;;;++++++;;;;;;;;;;;;;;;;+xXXXXX$$XXXx;;;..  ..:. ...  ...    .:;;..:;;;;;++;.....:;++ +++
                                                   ;;;;:;;;::::...   ....   ...::::;;;;;;;;++++++++xxx+x++++++++++++++++++++++;+;;;;;;;;;;;;;+xXXXXX$$$XXXx+;;;::..... ......  ...  .::..:;;;++;......;;+   +
                                                + ; ;:; +;;::::.... .::...  ...:::::;;;;;;;;;++++xxxxxxxxxxxxxxx+xx+x+++++++++++;;;;;;;;;;;;;+xxXXXX$X$XXXXx++;;;;::::::::.  ..::.    ...:;;+xx;....:;;++
                                                 +++:+  ;;;:::....  ;;:...  ...:::::;;;;;;;;;+++xxxxxxxxxxxxxxxxxxxxxxxxxx+++++++;++;;;;;;;;;+xxXXXX$X$XXXXXXx++;;;;;;;;;;;;;;;::::::...:;;+xX;.  ..;;++  x
                                                 +;;; +;;+;::::.....:;:...  ...:::::;;;;;;;;;+++xxxxxxxxxxxxxxxxxxxxxxxxxx+++++;;;;;;;;;;;;;;++xXXXX$$XXXXXXXXXxx+;;;;;;;;;++++++xx++;::;;+xXX:...:;;++x+
                                                ++;;;; +;;;;::::::...:::..  ...:::::;;;;:;;;++++xxxxxxxxxxxxxxxxxxxxxxxx++++;;;;;;;;;;;;;;;;;+xxXXXXX$XXXXXXXXXXXXx+;;;;;;+++x+xxxxxxxx+;+xXX+;..;;;;
                                                 ;;+;;;;;;;::::::::...::.   ...:::::;:;;:;;;++++++xxxxxxxxxxxxxxxxxx++++;;;;;;;;;;;;;;;;;;;;++xxXXXX$X$XXXXXXXXXXXXXXxxx+;;;;+++xxxxxXXXXXXXX;:;;;;;+ x +
                                               + ;+++;;;;;+;.::::;::..::.    .::::::::;;;;;;;++++++xxxxxxxxxxx++++++;;;;;;;:;;;;;;;;;;:;;;;;+xxXXXXX$$XXXXXXX$XXXXXXXXXXXXxxxxxXx+xXXXXXXXXXX;;;;;.;++ x
                                              ;   ;;+;;;+ ;;::::::::..::.    .:::::::::;;;;;;;++++++++++++++++++;;;;;;;;:::;;;;;+;;;;;;;;;;;+xxXXXXX$$$XXXXXXXXX$X$XXXXXXXXXXXXXXXXXXXXXXXXXx+;;;::+ x++x
                                                   +;;;;;;;;.::::::::::..   ..:::::::::;;;;;;;;+;+++++++;+;;;;;;;;;;;;;:.:;;;;;;+;+;;;;;;;;++xXXXXX$$$$$XXXXXXXXXXXX$X$XXXXXXXXXXXXXXXXXXXXXx;;++.;x++x
                                                  ++x;;++;;;;::;:::::::.    .:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;...:;;;;;;;;;;;;;;;;++xXXXXX$$$$$$XXXXXx+xXXXXXX$$X$$X$$$$$$X$XX$XXXX+;;++;+x
                                                   ++  +;;;:;;;;:::::::.   ..:.:::::::::;;;;;;;;;;;;;;;;;;++++++;;;;;;:...::;;;;;;;;;;;;;;;+xxXXXXXX$$$$$XXXXXx++xXXXXXX$$$$$$$$$$$$$$XX$X$X;;;+;;x
                                                  ++  +;++;;;;:;;::::.:.   ..::.:::..:::;;;;:::..:;;;;;;;;;;;+;++;;;;;:.. .......:::::::;;;;xxXXXXXXXX$$X$X$$XX+;++xXXXXXX$$$$$$$$$$X$XXXX$X;++;+x
                                                  +   ;+ +;;;;;;:;::::.    ....:....:::;;;::..:;;;;;;;;;;;;;;;;;;;;;;::...          .::::;;;++xxxXXXXXXXXXXXX$X+;;;+xXXXXXXX$$$$$$$$$$$X$XXx;+++x
                                                  ++ ;+ ++;;+;;;::::::.   ..........:::;;:...:;;;;;;;:::;;;;;;;;;;;;::....             ..:;;;;;+++xxxxxxxXXXXXX++;;++xxXXXXXX$$$$$$$$$$$XXX++xxxx
                                                  ++;+ ++;;+; ;;;::::.   ...........::;;:...:::..:...:::::::::::::::.....               ...::;;;;;;;++;;..;+xXx++;;;;+xxxXXXXXX$$$$$$$$$XXX+xxxxx
                                                  ++;   +;; ;;;;;;.::.   ...........::;;...:..... .........:.....:.....                  ...::::;;;;::::::;+xXxx++;;;;++xxXXXXXXX$$$$$$XXX++xxxxxx
                                                  +++  +;++ + +;;;;::.   ..........::;;:........ .. ................. .                  .....:::::...:;;;+xXXXxx+;;;;;+++xxXXXXXXXX$XXXXX;+++xxx
                                                   +; +x;++   ;;;;;;:.   ..........::;:..:::....     .  . ........ .. .....              ......;;;:...::::;xxXXXxx+;;;;;+++xxXXXXXXXXXXXXX;xxxx+x
                                                  ++++ +;++   ;;;;;;:    ..........::::..::::.... .   . ......... .... ......     .... .:......;;;;......;;+xxxxxx++;;;;;;+++xxXXXXXXXXXXxxxx+Xxxx
                                                   +x  ;;;++ ;;;;;;;.    ...........:::..:::::.......     .........:..:.....:............:....:;+;;..:::.;+;++;+xxx+;;;;;;;;++xxxXXXXXXXXxxxxxxxx+
                                                   +  + +++;+; ;;;;;     ..........:::...:;;;;;::.......     .......::::::;:;;;;;;;;;;;;::...:;+;;:.:.::;;;;;+++;;+;;;;:;;;;;+++xxXXXXxXxXXXXxXxxx
                                                   +     ;+; ;;;;;;:     ...........::..::;;;;;::::::::::..      ....:::::;;;;;;;;;;;++++;;;;;;+;;:::;.:::;;;;;;;;;;;;;;:;;;;;;++xxxx++Xxxx  X Xxxx
                                                    +    +;;+  ;;;;:      ...............::;;;;;;;:;:::;:;::.............::;;;;;;;;;;;;;+++++xx+++;;;;:;:;;;;;:;;;;;;;:::;;;++;;+xxx;+XXxX  x xx+
                                                     +    +++ ;;;;;.       ..............::;;;;;;;;;;;;;;;;;:::::::;:;;;:;;:..;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;.;:;:;;++;++x+;+xxxx   xx+x  x
                                                      +    ++;;;;;;.       ...............::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;++++++++;;;;;;;;;;;;;;;;;;;;.;.:.:;+++++;;+x++x+++xx+   x
                                                        +++++;;;;;;.        ...............::;:;;;;;;;;;;;;;;;;;;;;;;;;;;++++++xxx++;;;;;;;++;;;;;;;;;;;;:;:;;;;..::;::;.;;;+x++;;;x+xx+xxx     x
                                                        + x+++;+;;;.    .  .      ........::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++xxxxxxXXXXxxxxxx+++;;;;;;::..   ..........::;;;+x+;;+x;x+xx xxxxx
                                                      +       +;;;;.                   .....:::;:;;;;;;;;;:;;;;;;;;;;;;;;;;;++xxxxxXXXXXXXXXXXXXxxxxxx++;;::::::..:...::;;++x+++x+xx+X
                                                     +    + +   ;;;.                     ....:.;:::;::::::::;::;;;;;+;;+++++++++xxxxXXXXXXXXXXXXXXXXXXXXxxxx++;;;;;;;;;;;++++x+x++xxx
                                                    +    +     ;;;;:.                   .......::::;:;:::::::::;;:;;;;++++++x++x+xxxxXXXxXXXXXXXXXXXXXXXXXXXXxxx+++++;++xxxxxxx++xxxx
                                                   ;      + +  ;;;;;:                  .......:::;:;;;:::::..:;;:;;;;;;;;;+++++xxxxxxxxxxxxxxXxXXXXXXXXXXXXXXXxXxxxx++++xxxxxx;;xxxxxx
                                                              ;;;;;;..                .  ........:::::::::.....:::::;:.:;;+;++;;;+;++++xxxXXXXXXXXXXXXXXXXXXXXXXXxxx+xxxxxx++;:++xxxx
                                                              ;; ;;::..                 ..........:::.........::.::.::::;:;:;;;:;;;;;;;+++xxxXXXXXXXXXXXXXXXXXXxXxxxxxxxxx+x+;+++x xx
                                                              ;;;;:.:...                 ........::::::::.:.....::.::::::....:..:;:;;.;;;+++++xxxXxXXXXXXXXXXXXXXxxx+xx++xxx;;++x+
                                                            ; ;;;;.:.:...              ...........::::.:.:.:..:::::::::..:....:..;::.:.:;;;++;x++xxxxXxXXXXxXXXXXxx+;;;+++x;;+x++x x
                                                             ;;;:..::.:..                 .........:::...:..::::::::::::..............:::;;;;;+++++xxxXXXXxXXXXXXx;;.;;;;+;;;++x x
                                                             ;;;:..:::.....            .... .. .......::::::::;:;;;;::::.......:..:.:.::::;;;;+++++xxxxxxxxXXxxxx;...::;;;;;++x+
                                                             ;;.:::::::.....           ..        .....::::::;;;;:;::;;:::::::::::.::..:::;;;;;++++xxx+xxxx+xxxx+;...::;;:;+++ +
                                                             ;;::;::::.......         .         .....:;;:;;;;;;;;;;;;;;;;;+;++++;;;;;;;;;;+;++xxx+xxxxxxx+;;++;;:::::;:;;++++
                                                             ::::::::::.......                ........:.:;;;;;;;;;++++;+++xxxxxxxxxxxxxxxxxxxxxxxXxx+xx+++;;+;:;::.::::+;++++
                                                             ;.  .::::.:.......                ...   ...:;;;;;;;+;++++++xxxXXXXXxXXxXXXXXXXxXXXXXXXXx++;;;;;;:....::;:;     +
                                                           :.    .::.::..........                  ......::::;;;;+;;+++++xxxXxXXXXxXXXXXXXXXXXXXXXX+X++;;;::::::::;....:;  ;
                                                         :       ..:::.:..........                 ..........;:;;;;;;++;+++xxxxXXXXXXXXXXXXXXXXXXXXxxx;;::..::.:::...   .:;
                                                      :          ...:::.:.:.........                ...    ::..::;;;;;;+++;++xx+xxXXXXXXXXXXXXXXXXxx+;;:....::::...      ..:
                                                   .             ...:.::.::............              .   ........::;;;;+;;+++x++++xXXXXXXXXXXXXXXxX+;:;....::::..          ..;
                                                :.               ..::::.:.:::............                   ......::;;;;;++++++;+xxxXXXXXXXXXXXXX+++:.:..:::... .           ..;
                                             .                  ....:.::::::.:............                  ........::;;;;;;+;+;++xxxXXXXXXXXXXx+;;;.......::.             ....:
                                          .                     ....:..:.::::.:..............                   . .....::;;;;;;;;;++xxxxxxXxxxx;;;:.......;;+                 ..;
                                       .                        ....:..:::::::.:.:.............                     ....:.;;:;;;;;;++++++++++;;.;... ...;xxx;                 ...
                                    ..                          ...:.:.:::::::.:.................              .  .  .  .....:::::;;;;;;;:::.;...  ...;+xXxx.                   .
                                                                ....:.::::::::::....................                    . ......:..::;:..;.... .....;;xXXXX+                .;. :
                             ..                                 ....:.:::::::::::......................                   .  ...  .......:.    ...;++xXXXXx;               .;. ;
                           .                                    .....:::::::::::::...........................                       .       ....;+xxXXXXXX+.              .. .:;  :
                        .                                       ......::::::::::::.:......:.:.:..................                         ..;;;+xxXXXXXXXX;              :. .        .....::
                     ..                                        ......:::::::::::::...::....:::::::::.....................         .....::;;+++xXXXXXXXXXXx;            .. .  .        ..    .......:;
                   .                                           ......::::::::::::::::.:::.:.:.::::::::::::.::::::.:...::::::::;;;;;;;;+++xxxxXXXXXXXXXXXXx.             ......         ..    .     ..... .:;
                .                                              .......::::::::::::::::.:::.::::::::::::::::::::::::::::;;;;;;;;;;++++++xxxxxXXXXXXXXXXXXX+             .     ..         .     .      ..    .....;
             .                                                 .......:.::::::::::::::::.::::::::::::::::::::::;;;;;;;;;;;;;;+++++++xxxxxxXXXXXXXXXXXXXXX;          ..                  .     .      .      ...   ..:;:
           .                                                   .......:::::::::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;++++++xxxxxxxxxxXXXXXXXXXXXXXx.        ..                     .            .      ..   . ......::
         .                                                     ........:::::::;:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;++++++++xxxxxxxxxXXXXXXXXXXXXXXXX+       ..                       .     .              .      ...   ....:;
                                                              .........::::::::::::::::::::::::::;:;;:;;;;;;;;;;;;;;;;;++++++xxxxxxxxxxXXXXXXXXXXXXXXXXx:                                                             .     ...:.....:;
                                                      .       ........::::::::;:;:::::::::::::;:;:;:;;;;;;;;;;;;;;;;;+++++++xxxxxxxxXxXXXXXXXXXXXXXXXXX;            .                     .                           .      .... ...... ..:;
      .                                               .      ..........::::::::;::::::::::::::::;;:;;;;;;;;;;;;;;;;;;++++++xxxxxxxxXXXXXXXXXXXXXXXXXXX+:      .                           .                           .      ....  .....  ......:
     .                                               .     ...........:.::::::;::;::::::::::::::;;;;;;;;;;;;;;;;;;;++++++xxxxxxxxXXXXXXXXXXXXXXXXXXXXX;.     .                                                        .      ...    ....  .....  ....;
                                                    .     .............::::::::;::;:;:::::::::::;:;;;;;;;;;;;;;;;;;++++++xxxxXXXXXXXXXXXXXXXXXXXXXXXXx;           .                                                   .      ...     ...   ....   ...: :
                                                         ...............:::::::;:;:::;::::::::::;;;;;;;;;;;;;;++++++++xxxxxxxXXXXXXXXXXXXXXXXXXXXXXXX+.          .                                                    .       ..     ..    . ..    .... .
                                                        ...............:.:::::;:;;;;:;::::::::::;;;;;;;;;;;;;;++++++++xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXx;     .                                                                  ..      .      .     ....  .
                                                       .................:::::::;:;:;:;:;:;::::::;;;;;;;;;;;;;++++++++xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXX+.          .                                                             ..      .      .     ... .
                                                     ....................:::::;;;;;;;;;:;::;:;:;;;;;;;;;;;;;;+++++++x+xxxxxxXxXXXXXXXXXXXXXXXXXXXXXx;          .                           .                                  ..             .    ...   .
                                                    ....................::::::::;;;;;;:;;;::::;:;;;;;;;;;;;;++++++x+xxxxxxxXXXXXXXXXXXXXXXXXXXXXXXX+:    .     .                                                                     .      .     ...    .
                                                .. ......................:::::;;;;;;;;;;:;:;:;:;;;;;;;;;;;;++++++++xxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXx;           .                                                                            .    . .
                                               .... ....................::::::::;;;;;;;;:;:::::;;;;;;;;;;;;+++++++x+xxxxxxXXXXXXXXXXXXXXXXXXXXXXXX+:    .     .                                                                                   .
                                               ..........................::::::::;;;;;;;;;::::::;:;;;;;;;;;++++++++xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXx;.          .                                                               .                   .
                                              ..........................:.::::::;:;;;;;;;;;;::;:;;;;;;;;;;;;++++++++xxxxxxxXXXXXXXXXXXXXXXXXXXXXx+;          ..                                                                                   .    

Hi there, fellow programmers👋 Welcome to my blog!

My name is Franz, and I'm a computer science graduate from Munich with a passion for software development. Throughout my time in college and beyond, I was fascinated by the power of programming languages and by the incredible things you can achieve with code. For more than 10 years, I've been working on several open-source side projects. These are “learning-by-doing” projects where I experiment with various technologies and design patterns.

On this website, I’d like to showcase my projects and the experience I’ve gained over the years. Completely free of AI-generated content, ads, or tracking.

Blog

Projects

{CodeStore}
A code snippet manager for developers
Synchronization Library
Add data synchronization to your application
JSON:API Library
A Java implementation of the JSON:API specification