xXxx+;+;++++xxxxxXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+XXXxXxxx++xXxXXXXXxx+++;++;;;;;;+xxXxx+xxxXxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xxXXXXX
XxXx+;;++++++xxxxXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxXxxXx+++xxxXxxXXXxx++++;;;:::;;;xxx++++;;++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXX
XXXx+;;++++++xxxXXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++xxX++xxxx++;+;;;;:::;+XXXX++::;+x++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXX
XXXx+++++++++xxxXXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXxxXXx++++Xxx+++;;;;;:::;xXXX+++;;+xx++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXX
XXXx++++++++xxxxXXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxx++xXX+++xXXx++++;;;;:::;+xxx++x+xXx++;+++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXX
XXXx++++++++xxxxXXXXXX++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++++++;+XXXXXXXXx+++++++;;:::;;++;;++++++;;++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+xxXXXXX
XXXx++++++++xxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXXXXx++++xXXXxxXXXXXx+xxxxx+;;::::::;++++++;;+;+++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++xXXXXX
XXX+++++++++xxxxXXXXXxx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXXXxxxx+xXXXXxx++;+x+++x+;;;;+++++;;;;;+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++xXXXXX
XXX+++++++++xxxxXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+++xXXXXx++++++xXXXXxx++;++;;;+++++++++;;;;;;;+;+++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xxXXXXX
XXX+++++++++xxxxXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx;++XXx++++xxxXXXXXXx+++;;;;;++++++;;;;;;;;;;;+;+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXX
XXX+++++++++xxxxXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+;+XXx++xXXXXXXXXXxx++++;;;;+++;;;;;;;;;;;+;++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXX
XXx+++++++++xxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXXXXXXXXXxx++++++;;++;;;;;;;;;;;;+++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
XXx++++++++xxxxXXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+++++++++;;;;;;;;;;;+;++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
XXx++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx++x++xx++;;;;;;;;;;+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXX
XXx++++++++xxxxXXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+x+x+x++x+;;;;;;;;;+xXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+xxXXXXXX
XXx++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+x+++xx+;;;;;;;;++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXX
XX+++++++++xxxxXXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++x+x+x+;;;;;;;;++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
XX+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++x++xx+;;;;++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
Xx+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX++x+x+x++;;+;+xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
Xx+;+++++++xxxxXXXXXXx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++x+xx++;;;+xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
Xx++;++++++xxxxXXXXXxx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxXXXXXXXXXXXXxxXx+:::;:        :::::.::.   .:;xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX++xXXXXXXX
Xx+++++++++xxxxXXXXXxx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+++++++;;;;;;;:::::::......                                         ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++xXXXXXXX
Xx++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+;.                                                                          .xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+++XXXXXXX
Xx++++++++xxxxxXXXXXxx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+.                                                                             +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxx+++xXXXXXXXX
Xx++++++++xxxxxXXXXXxx+++++xXXXXXXXXXXXXxxxxxXXXXXXXXXXXXXXXXXXXX                                                                              :xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxx+++++XXXXXXXXXXX
Xx++++++++xxxxxXXXXXxx+++++xXXXXXXXXXXXXXx++++++++xxxxxXXXXXXXXX:                                                                              ++xxXXXXXXXXXXXXXXXXXxxxXxxxxxxxxxx+++++++++++XXXXXXXXXXXX
Xx++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXx+++;+;++++++++++xx;                                                                             .+xxxxXXXXXXXXXXXXXXXXXxxx+++++++++++++++++xxXXXXXXXXXXXXXXX
Xx++++++++xxxxxXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXxx++++;++++xx                                                                              xXXXXXXXXXXXXXXXXXXXXXXXXXXXx++++++++xxXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:                                                                             xxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxxXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+                                                                             xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXxXXXXXXXXXXXX                                                                             +xxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxXXXXXXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXx+xXXXXXXXXXX;                                                                            +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxXXXXXXx+++++xXXXXXXXXXXXXXXXXXXXXX+xXXXXXXXXX+                                                                            ;xxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXX
x+++++++++xxxxXXXXXXx+++++xXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXX:                                                                            ;++xxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXX
X+;+++++++xxxxXXXXXX++++++++xXXXXXXXXXXXXXXXXXXXxxXXXXXXXx;                                                                           :.;;;+++++++xxxxxXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXX
x+;++++++xxxxxXXXXXXx++++++XxxXXXXXXXXXXXXXXxxxXxxXXXXX++;                                                                            ;:x++;;;;++++++++++++++++++++++++++++xxxxXXXXXXXXXXXXXXXXXXXXXXXXXx
x++++++++xxxxxXXXXXx+++++++XXXXXXXXXXXXxx++++++xXxXXXXx++:                                                                            :+xxxx++;;;;;;;;;;+++++++++++++++;++++XxxXXXXXx+++xxXXXXXXXXXXXxx++
x+;++++++xxxxxXXXXXx++++++xXXXXXXXXXXx++++++XXXXXxXXXXXx+                                                                             .:;;++xxx++;;;;;;;;+;++++++++++++xXXXXXxxXXXXXxxxx++xXXXXXXXXXXXx+x
x++++++++xxxxxXXXXXx++++++xXXXXXXXXx+++++xXXxxxxxXXXXXXx:                                                                                :;;++xxXXx+xxx+++xxxxxxXXXXXXXXxxXXXXXXXXXXXxXXx+++xxXXXXXXXXXXX
x++++++++xxxxxXXXXXx++++++xxxxxx+++++xXXXXXXxxXXXXxx+++;                                                                     .            .;;;++xXXXXXXXXXXXXXXXXXXXXXXXXXXx++++xXXXXxxXx+XXxx+xxxXXXXXXX
x++++++++++xxxXXXXXxx++++++++++++++xXXXXXXXXXXXx++;;;;;                                                                          .         :;;;++++xxXXXXXXXXXXXXXXXXXXXXXxxx++++++xXXXx++XXXXXx+++xXXXXX
+++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXx++++xxXX+                                                                           .         ;;;+xxXxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxx++xXXXXXXXXXXXXXxx
+++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXX:                                                                            .         ::;+xxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+++
+++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXX           .::::                                                                         :;++++++xxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx
++++++++xxxxxxXXXXXx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXx;:;xxxxxxxxx++;                                                                          .:::;;;;;++++++++++xxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
++++++++xxxxxxXXXXX+xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxx++++;;;::.                                                                             ...::::::::;;;;;;;+++++++++xxxXXXXXXXXXXXXXXXXXXXXXXXXX
++++++++xxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXx+XXXXXXxxx+++;;;;;:::::...                                                                              ;+;;;:::::::::::::::::;;;;;;++++++++xxxxXXXXXXXXXXXXXXX
++++++++xxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+++++;;;;;;:::::::...                                                                                  :+xxxxxxxxx++++;;;:::::::::::::::;;;;;;;;+++++xxxXXXXXXX
++;++xXXXXXXXXXXXXXXXXXXXXXXXXXXxx++++;;;:::::::::::.:..... .  ......                                      ..;+;.                                :++++++xxxxxxxxxxXxxxx++++;;;::::.:::::::;;;;;+++++++++x
++xXXXXXXXXXXXXXXXXXXXXXxxx+++;;;;;;::::::::..:...........:::;;;++++;:                                    .;;+xxxx++++;;;;:.                     .::::::;;;;;;++++++x+xxxxxxxxxXxx+++;;;:::::::::::;;;;;+
XXXXXXXXXXXXXXXXxx+++;;;;;::::::::::::.:.......::::;;;+++++++++++;:.                                   .;+++++xxxx++++++;;::.       ..        .++xxx+++++;;;;;:::;;;;;;+++++++xxxxxxxxxxxxxx+++;;;:::::::
XXXXXXXXxx++++;;;;;:::::::::..:.:...:::::;;;;+++++++++++;;;:::::..                                  ;;;+++++++++++++++++;;;;:::::::::::;:    .::;;;;++++++xxxxxxx+++;;;;:::;;;;;+++++++++xxxxxxXXXXxx+++;
XXx+++;;;;;:::::::.:........::::;;;+++++++++++;;;;:::::......::::..                               .:+++++++++++++++++++;;;;;::::++++;::;;:  :;;;;;;;;:::::;;;;;+++++xxxxxxx+++;;;;;::;;;;;;+++++++xxxxxxX
;;;;;::::::::.......:::::;;+++xx+++++;;;::::.......:::;;;++++++;;                   ;:. .       :::;+++++++++++++++++;;;;;;:::.:++;.   ...;;;;;;;;;;;;;+++;;;;;;:::::;;;;;++++xxxxxx+++;;::::::;;;;++++++
::::::.......::::;;;++++x++++;;;:::::.....::::;;+++++++;;;;::::.                     :;;;;:::. :;;;;;+++++x+x++++++++;++;;;::::;;:.       ++++++xxx++++;;;;;;;;;;+++++;;;;;::::;;;;+++++xxx+++;;;::::::;;
..:::::::;;+++++++++++;;;::::......:::;;+++++;;;;;::::::........                       :+++;;:.:;+;++++++x+++++++++++++++;;;;;;+++;;;:   ;+xxxxxxx+++++++xx+xx++++;;;;;;;;;+++++;;;::::::;;;+++++x+++++;;
::;;;++++++++;;;::::......::::;;;+++++;;;::::..::.::::..:........  .                     .:;:.::;+++++++++++++++++++++++;;;;;;;;;;;;;+;:::::;;;;;++++xxxxxxxx++++++++++x++++;;;;;;;;;;;;;;;:::::::;;;++++
++++++;;;:::::.....::;;;+++++;;;;:::::.::::::...:....::::::::::::                             .;;;++++++++++++++++++++++++;;;:::::::::.::::::::::::::;;;;;;;++++xxxxxxxx++++++x+x+++++;;;;;;;;+;;;;::::::
;;:::::....:::;;++++++;;;:::::.:.:::::.....:::::::::;;;;+++++x++:                             :+++++++++++++++++++++++++;;;::.          .:::::::::::::::::;:;:;;;;;;;;+++xxxXxxxxx++++++++++;;;;;:;;;;;;;
:...:::;;++++++;;;:::.:.:::::.......:::;;;;;;+;;+++xxxx+++;;;::::..                       .;;;+++;;+++++++++++++++;+;;;;:::...:;;;;;;:...:.:::::::::::::::::::::::::;;;;;;;;;;;++++x+xx++++++++++++++;;;:
:::;++++;;;::::..:::.:......:::::;;;++++++xxxx+++;;;:::::::.:.:....                      .;++++++;;;;;;;;;;;;;;;;;;;;::::.::::;;:::.....:.::::::::::::::::::::::::::::::::::;::;;;;::;;;;;++++x++++++++++
:::.:::::.:::.........:::::;;;+++xxxx+++;;;::::..:...:.............                  ::;++++++++++;;;:::::::;;;;;;;;:::::::::::::..     ..::::::::::::::::::::::::::::::::::::::::::::;:;:;:;:;;;;++++x++
..............::::::;;;+++xxx+++;;::::::::.................... .                      :++++++++++++;;;::...:::::::::::;;;;;;;;:::::.   .::::::::::::::::::::::::::::::::::::::::::::::::::::;:;;:;:;;;;;;
.    ..:::::::;;+++xx+++;;;:::::::.:............ .....                                 :+++++++++++;;;;:::.......:::::::;;;;;;;;;::::..:+Xxxxx++++;;;;;::::::::::::::::::::::::::::::::::::::::::;:::;:;;
......:::;++++++;;;::::.:..:................ .                                        .:;++++++++++++;;;;:::..     ...::::;;;;;;:::.. :;+xXXXXXXXXXXXXXxxx++++;;;;:::::::::::::::::::::::::::::::::::::::
...::.::::::::.:................... . .                          ..::;;;.             ;++x+++++++++++++++;;;;;::...      ....:::...      :::;;;;;;++++xxXXXXXXXXXXXXXxx++++;;;;;:::::::::::::::::::::::::
............................. .                        ...::;;;++xxxXXxx;:          ;;;+x+++++++++++++;;;;;:::..                      :+xxxx++++++;;;;;;;;++++xxXXXXXXXXXXXXxx+++;;;;;;;;;:;:::::::::::::
        ......... . .                         ....::;;++xxXXXXXxx+++;;;;::          ;+++xxx++++++++++++++;;;;::.                      :;++++xxxXXXXXXXxx++++;;;;;;;;+++xxXXXXXXXXXXXXXxxx++++;;;;;;:;::::
.                                   . ...::;;+++xxxXXXxx+++;;;;:::::;;;;+++         :++x++++++++++++++++++++;;::.                   .;+++;;;;;:;;;;;+++xxxXXXXXXXxx++++;;;;;;++++xXXXXXXXXXXXXXxx++++;;;;
..                          . ..:::;;++xxXXXxxxx++;;;;::::::;;;+++xxxx+++;;.       .;++x+++++++++++++++++++;;;;:.               ..:::;;;;++++xx+++++;;;;::;;;;+++xxxXXXXXXxx+++;;;;;;;+++xXXXXXXXXXXXXXXx
..                     ..::;;++xXXXXXxx+++;;;:::::::;;++++xxx+++;;;;::::::;;;      ;++x+++++++++++++++++++;;;;:.         :;+xxxxx++++;;;;;;::::;;;;++++xxx++++;;;;;;;;;;+++xxXXXXXXxx+++;;;;;;+++xxXXXXXX
 .                .:;++xxXXXXXxx++;;;:::::;;;+++xxx+++++;;:::::::;;;++++++;;;:.   ;+xx++++++++++++++++++;;;:::.      ...::;;;;;+++++xx+xxxxxxx++++;;;;;:;;;;;++++xxxx+++;;;;;;;;;+++xxxXXXXXxx+++;;;;;+++
..           ..::::+xXxx++;;;::::::;;+++xxx+++;;;::..::::;;;++++;;;;;:::::::;+XXXXXXXXxx+++++++++++++++++;::.       . .:    ......:::::;;;++++xxxxxXXxxx++++;;;;;;;;;;++++xxxx++++;;;;;;;++++xxXXXXXxx+++
       .. .::::::::::::::::;;;+++xx+++;;;:::::::;;;;;++;;;;:::::::::;;;+++++xXXX$$X$$$$XXXxx+++++++++++++;;;:.    . ....                ....:::::;;;;+++xxxxxXXXxxx+++;;;;;;;;;;++++xxxx+++;;;;;;;+++xxXX
  .................::::++x++++;;::::::::;;+++++;;;::.::::::;;;++++++++++;;;;XXXX$X$$$$$$$$X$XXx+++++++++++;;;:.. . . ...                           ....::::;;;;++++xxxXXXXxx+++;;;;;;;;;;+++xxxxx+++;;;;;
.......... ...::::::::::::::::::;;;+++;;;;:::::::::;;;++++++++;;;;;;;;++;::xXX$X$$$$$$$$$$$X$$XXXx++++++++;;::. .. .  ..:....                                ....::::;;;++++xxxxXXXxxx+++;;;;;;;;+++xxxxx
............:::.........::;++++;;;:::::::::;;++++++++;;;:::::::;;+++x++xx;+XXX$$$$$$X$$X$$$$X$$$XXXx++++;;::....... . . ..::;::::::::::.....                          ...::::::;;++++xxxXXXXxxx+++;;;;;;;
...........    ....:::::::::::::::;;;+++++++++++++;::::;:;;+xx++xxXXXXXXXXXXXXX$X$$$$$$$$$$$$$X$$XXXx+++;;:.....:....   .::;+;::;:::::::::::::::::...                          ..:::::;;;++++xxxxXXXxxx++
...       . ............::::;;+++++++++++;+;;;++++++++xxXXXXXXXXXXXXXXXXXXXXXXX$$X$$$$$$$X$$$$$$XX+    :;;:::.:::::::;+x+++;+;;:::::::.:.      ..:::....::::....                      ...:::::;;;++++xxxx
    ........ .......::::::::;;;;:;;;;+++xxxxXXXXxxxxxxx+xXXXXXXXXXXXXXXXXXXXXXXXX$$$X$$X$$$$X$$Xx        :.      :+XXXx++++;;+;::. .:::;;::...     :::....:::::.::::::::...                    ..:::::;;;
............. .::::::::.:......:;;+++xxXXXXXXXXXXXXXxxxx++xxXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$X:                    .++++;;;;;+:.  :;;;;;;;;;;;.     ::....:::::.::::::::::::::....                    ..
.................... .     .:;;++xxxXXXXXXXXXXXXXxxxx+++++++++xxxxxXxxxxxxxXXXXXXXXXX$$$$$X$X+                        ;+;;;;;;;;  :;;;;;:;;;;;;::...        ..::::...::......::::::::::::...
.......... .               :;+xxxXXXXXXXXXx+++;;:                 .::::;::::;++++xXX$$$X$$$x:   ...                    ;++;;;;;;;:;+;:.    ::;;::::..         .::::. .......:......:::::::::::::::..
.                        :;++xxXXXXXxxx+:                                         .              :;+xXX+                ;++++;;;+;::        .:::;:;:..            ...  ....:.. ..:::::::::..    ..:::::::
                        ;++xxXXXXXxx+:                                                                 .:.               ;++++;:              :::;;;:.                  .  ..::::......              .:;:
                       ;;++xxxxXxx+:                                                      ::::..                                               ::;;;:....         .        .....::..                   .:
                     .;++xxxxxx+;                                                   :::::.                                                     ;++: .     ..:...   .:             .              .. .   .
                     :;+++xxx+:                                                     .XXXXXXXx+:.         .     :::                            :+++;:        :::..        ...                      ..:...
                   .;++xx++;                                                         ;XXXXXXXXXXXXX+;:.  .                        ::;++++                  .:::.... .       .                       :::..
                   :;++xx+:                                                           xXXXXXXXXXXXXXXXXX+;:                                                 :;:: ........ .                    .  ..:;;:.
                   :+xx;                                                              .XXXXXXXXXXXXXXXXXXXX+:                                                     ..  . ..                  .. ....::;;:.
                 .;+xx.                                                                ;XXXXXXXXXXXXXXXXXXx++:              ;;                                          .                         ..
                 :+++                                                                   +XXXXXXXXXXXXXXXXXx+x+              :xx+                                      ...                 ...    .
                :++;                                                                     xXXXXXXXXXXXXXXXX++++:              ;XX;                                                     .....     . .. ..
                :+:                                                                      ;XXXXXXXXXXXXXXXX+;++;               +Xx:                                                    .:...         .   .
               :;.                                                                       :XXXXXXXXXXXXXXXx++XX+.              :XX+.                                                  ::::.   .       .
                                                                                          +XXXXXXXXXXXXXXxxXXXx:               +Xx;                                                 .:::              ..
                                                                                          ;XXXXXXXXXXXXXXxxXXXx:               :xXx;                                          ..    .:;:              ..
.                                                                                         :XXXXXXXXXXXXXXXXXXXx:                +XX+:                                          .     ::.              .:.
        .:::.                                                                              +XXXXXXXXXXXXXXXXXXX;                :XXX+                                               .::.               :.
    ... ..:.                                                                               +XXXXXXXXXXXXXXXXXXX+                .+XXx;                                               ::.               ::
  ..::...::                                                                                +XXXXXXXXXXXXXXXXXXX+.                +XXXx.                                              :.                ::
  .:::..::                                                                                 ;XXXXXXXXXXXXXXXxxXX+.                :XXXx;                                              ..                ::
...:::.::.                                                                                 ;XXXXXXXXXXXXxx++xXXx:                 xXXX+:                                             ..                .:
..::. .:.                                                                                  ;XXXXXXXXXXXxx++xXXXX:                 +XXXx+                                             ..                .:
:;:..                                                                                      ;XXXXXXXXXxx+++xXXXXx:                 :XXXXx:                                            ..                .:
   ....                                                                                    ;XXXXXXXXxx+++xXXXXX+.                  +XXXx+                                             .                 :
    ..                                                                                     ;XXXXXXXxx++++XXXXXX;.                  ;XXXxx;                                                              :
   .                                                                                       ;XXXXXXXxx+++xXXXXXx;.                  .xXXxx+                                                              .
.                                                                                          +XXXXXXxx+++xXXX$XX+;:                   ;XXxxx:                                                             .
 _________  ________  _______       ___    ___ ________  ________  ________
|\___   ___\\   __  \|\  ___ \     |\  \  /  /|\   ____\|\   __  \|\   ___  \
\|___ \  \_\ \  \|\  \ \   __/|    \ \  \/  / | \  \___|\ \  \|\  \ \  \\ \  \
     \ \  \ \ \   _  _\ \  \_|/__   \ \    / / \ \_____  \ \  \\\  \ \  \\ \  \
      \ \  \ \ \  \\  \\ \  \_|\ \   \/  /  /   \|____|\  \ \  \\\  \ \  \\ \  \
       \ \__\ \ \__\\ _\\ \_______\__/  / /       ____\_\  \ \_______\ \__\\ \__\
        \|__|  \|__|\|__|\|_______|\___/ /       |\_________\|_______|\|__| \|__|
                                  \|___|/        \|_________|
 _________  ________  _______   ________
|\___   ___\\   ____\|\  ___ \ |\   ___  \
\|___ \  \_\ \  \___|\ \   __/|\ \  \\ \  \
     \ \  \ \ \_____  \ \  \_|/_\ \  \\ \  \
      \ \  \ \|____|\  \ \  \_|\ \ \  \\ \  \
       \ \__\  ____\_\  \ \_______\ \__\\ \__\
        \|__| |\_________\|_______|\|__| \|__|
              \|_________|
1
2
3
4
5
6
7

curr. software engineer @ visa, tech lead @ auec and designing/developing a website for the lovevisuals photography brand

 

spending most of my time building things that will hopefully make me rich enough to one day buy my life back; obsessed with productivity, systems and tracking anything that I can get my hands on

 

// prev. patty flipper @ mcdonalds and computer science major @ the university of auckland while working on many volunteer software projects for uni clubs and non-profits

 

// usually playing tetris or piano in my free time and snowboarding the south island peaks during the winter

© 2026 treyson tsen, inspired by @morilliu
my friends have websites too