2021/14
author |
Steve Losh <steve@stevelosh.com> |
date |
Tue, 14 Dec 2021 20:19:00 -0500 |
parents |
a19c9e1fd077 |
children |
(none) |
/---->--------------------------------------------------\
|/------------------------>---------------------\ |
|| | | /-----------------------\/---------\
|| /------------------------------+-------+--------------+-------------\ || |
/------------------------------++-------------\ | /--+-------+--------------+-------------+---------++--------\|
/-----+------------------------------++-------------+-+----------------------\ | | | /----+------------\| || ||
|/----+------------------------------++-------------+-+---\ /---------+----+--+-------+-----\ | | || || ||
|| | || | | | | | | | | | | /+--------\ || || ||
|| | || | | |/-------+---------+----+--+-------+-----+\ | || | || || ||
|| | /-----------\ || /----------+-+---++-----<-+---------+----+--+-------+-----++--+---++--------+---++---------++----\ ||
|| | /---+-----------+----------++--+----\ | | || | | | | | || | || | || || | ||
|| | | | | /++--+----+-----+-+---++-------+---------+----+--+\ | || | || |/--++--------\|| | ||
/--++----+--\| | | ||| | | | | v| | | | || | || | || || || ||| | ||
| || | || | | ||| | | |/+---++-------+---------+----+\ || | || | || || || ||| | ||
| || | || | | ||| | | ||| || | | /-++-++------+-----++--+---++--------++--++---\ ||| | ||
| || | || | | ||| | | /+++---++-------+---------+--+-++-++------+-----++-\| || || || | ||| | ||
| || | || | | ||| | | /--++++---++-------+---\ | | || || | || || || /-----++--++---+\ ||| | ||
| || | || | |/--------+++--+----+-+--++++---++-------+---+-----+--+-++-++------+-----++-++---++--+-----++--++-\ || ||| | ||
| || | || | || ||| | /--+-+--++++---++-------+---+-----+--+-++-++------+-----++-++---++--+--\ || || | || ||| | ||
| || | || | || ||| |/+--+-+--++++---++-------+---+-----+--+\|| || | || || || | | || || | || ||| | ||
| || | || | /---------++--------+++--+++--+-+--++++---++-------+---+-----+--++++-++--\ | || || || | | || || | || ||| | ||
| || | || | | /-++--------+++--+++--+-+--++++\ || | | | |||| || | | || || || | | || || | || ||| | ||
| || \--++---+-+-------+-++--------+++--+++--+-+--+/\++--++-------+---+-----+--+++/ || | | || || || | | || || | || ||| | ||
| || || /+-+-------+-++--------+++--+++--+-+--+--++--++-------+---+-----+--+++--++--+---+-----++-++---++--+-\| || || | || ||| | ||
| || || || | | || ||| ||| | | | || || | | | /+++--++--+---+-----++-++---++--+-++--++\ || | || ||| | ||
| || || || | | || ||| ||| | | | || || \---+-----+-++++--++--+---+-----/| || || | || ||| || | || ||| | ||
| || || || | | || /-+++--+++--+-+--+--++--++-----------+-----+-++++--++--+---+------+-++---++--+\|| ||| || | || ||| | ||
| || /++--++-+-------+-++------+-+++-\|||/-+-+--+--++--++-----------+-----+-++++--++--+---+------+-++---++-\\+++--+++-++-+-+/ ||| | ||
| || ||| || | | || | \++-+++++-+-+--+--++--++-----------+-----+-++++--+/ | | /----+-++---++-+-+++--+++\|| | | ||| | ||
| || ||| ||/+-------+-++------+--++-+++++-+-+--+--++--++-----------+-----+-++++--+---+-\ | | | |v || | ||| |||||| | | ||| | ||
| || ||| |||| | ^| | || ||||| | | | || || /----+-----+-++++--+---+<+-+-+----+-++---++\| ||| |||||| | | ||| | ||
\--++------+/| |||| | || /---+--++-+++++-+-+--+--++--++------+----+-----+-++++--+---+-+-+-+-\ | || /-++++-+++--++++++\| | ||| | ||
|| | | |||| | || | | ||/+++++-+-+--+--++--++------+----+-----+-++++--+---+-+-+-+-+--+-++-+-++++-+++--++++++++-+----+++\ | ||
|| | | |||| /-+-++--+---+--++++++++-+-+--+--++--++------+----+-----+-++++--+---+-+-+-+-+--+-++-+-++++-+++\ |||||||| | |||| | ||
|| | | |||| | | || | | |||||||| | | | || || /--+----+-----+-++++--+---+-+-+-+-+--+-++-+-++++-++++-++++++++\| |||| | ||
|| | | |||| | \-++--+---+--++++++++-+-+--+--+/ || /-+--+----+-----+-++++--+---+-+-+-+-+--+-++-+-++++-++++-++++++++++----++++---+\ ||
|| | | |||| | || | | |||||||| | | |/-+---++-+-+--+----+-----+-++++--+---+-+<+-+-+--+-++-+-++++-++++\|||||||||| |||| || ||
|| /+-+--++++-\ | || | | |||||||| | | || | ||/+-+--+----+--\ | |||| | | | | | | | || | |||| ||||||||||||||| |||| || ||
||/----++-+--++++-+---+---++--+---+--++++++++-+-+--++-+---++++-+--+----+--+--+-++++\ | | | | | | | || | |||| ||||||||||||||| |||| || ||
/-+++----++-+--++++-+---+---++--+-\ | |||||||| | | || | |||| | | | | | ||||| | /+-+-+-+-+--+-++-+-++++-+++++++++++++++----++++---++--++-\
| ||| || | |||| | | || | | | /++++++++-+-+--++-+---++++-+--+----+--+--+-+++++-+--++-+-+-+-+--+-++-+\|||| ||||||||||||||| |||| || || |
| ||| || | |||| | | || | | | ||||||||| | | || | /-++++-+--+----+--+--+-+++++-+--++-+-+-+-+--+-++-++++++-+++++++++++++++----++++-\ || || |
| ||| || | |||| | | || | | | ||||||||| | | || | | |||| | | | | | ||||| | || | | | | | || |||||| ||||||||||||||| |||| | || || |
|/+++----++\| |||| | | || | | | ||||||||| | | /++-+-+-++++-+--+----+--+--+\||||| | || | | | | | || |||||| ||||||||||||||| |||| | || || |
||||| |||| |||| | | || /+-+-+-+++++++++\| | ||| | | |||| | | | | ||||||| | || | | | | | || |||||| ||||||||||||||| ||\+-+-++--+/ |
||||| |||| |||| | | || ^| | | ||||||||||| | ||| | | |||| | | | | ||||||| | || | | | | | || |||||| ||||||||||||||| || | | || | |
||||| |||| |||| | | || || | | ||||||||||| | ||| | | |\++-+--+----+--+--+++++++-+--++-+-+-+-+--/ || |||||| |||||||||||||||/---++-+-+-++\ | |
||||| |||| |||| | | || || | | ||||||||||| | ||| | | | || | | | | ||||||| | || | | | | || |||||| |||||||||||||||| || | | ||| | |
||||| ||||/-++++-+---+---++-++-+-+-+++++++++++-+-+++-+-+-+-++-+--+---\| | ||||||| | || | | | | || |||||| |||||||||||||||| || | | ||| | |
||||| ||||| |||| | | || || | | |\+++++++++-+-+++-+-+-+-++-+--+---++--+--+++++++-+--++-+-/ \-+----++-++++++-++++++++/||||||| || | | ||| | |
||||| ||||| |||| | | || ||/+-+-+-+++++++++-+-+++-+-+-+-++-+--+---++--+--+++++++-+--++-+-----+----++\|||\++-++++++++-+++++++---+/ | | ||| | |
||||| ||||| |||| |/--+---++-++++-+-+-+++++++++-+-+++-+-+-+-++-+--+---++--+--+++++++-+--++-+--\ | |||||| || |||||||| ||||||| | | | ||| | |
|\+++----++/|| |||| || | || |||| | | ||||||||| | ||| | |/+-++-+--+---++-\| ||||||| | || | | /+----++++++-++-++++++++-+++++++---+--+-+\||| | |
/+-+++----++-++-++++-++--+---++-++++-+-+-+++++++++-+-+++-+-+++-++-+--+---++-++--+++++++-+--++-+--+-++--\ |||||| || |||||||| ||||||| | | ||||| | |
|| ||| \+-++-++++-/| | || |||| | | ||||||||| |/+++-+-+++-++-+--+---++-++--+++++++-+--++-+--+-++--+-++++++-++-++++++++-+++++++---+--+-+++++-+-\|
|| ||| | ||/++++--+--+---++-++++-+-+-+++++++++-+++++-+-+++-++-+--+---++-++--+++++++-+--++-+--+-++--+-++++++\|| |||||||| ||||||| | | ||||| | ||
|| ||| | ||||\++--+--+---/| |||| | | ||||||||| ||||| | ||| || | | || || |||\+++-+--++-+--+-++--+-+++++++++-++++++++-+++++/| ^ | ||||| | ||
|| ||| | |||| || | |/---+-++++-+-+-+++++++++-+++++-+-+++-++-+--+---++-++\ ||| ||| | || | | || | ||||||||| |||||||| ||||| | | | ||||| | ||
|| |\+-----+-++++-++--+--++---+-++++-+-+-+++++++++-+++++-+-++/ || | | || |||/+++-+++-+--++-+--+-++--+-+++++++++-++++++++-+++++-+-\ | | ||||| | ||
|| | |/----+-++++-++--+--++---+-++++-+-+-+++++++++-+++++-+-++--++-+-\| || ||||||| ||| | || | | || | ||||||||| |||||||| ||||| | | | | ||||| | ||
|| | || /--+-++++-++--+-\|| | |||| | | ||||||||| ||||| | || || | || || ||||||| ||| | || | | || | |\+++++++-++++++++-/|||| | | | | ||||| | ||
||/+-++-+--+-++++-++--+-+++--\| |||| | | ||||||\++-+++++-+-++--++-+-++---++-+++++++-+++-+--++-+--+-++--+-+-++++++/ |||||||| |||| | | | | ||||| | ||
|||| || | | |||| || | ||| || \+++-+-+-++++++-/| ||||| | \+--++-+-++---++-+++++++-+++-+--++-+--+-++--+-+-++++++--++++++++--++++-+-+-+--+-/|||| | ||
|||| || |/-+-++++-++--+-+++--++--+++-+-+-++++++--+-+++++-+--+--++-+-++---++-+++++++-+++-+--++-+--+-++-\| | |||||| /++++++++--++++-+-+-+-\| |||| | ||
|||| || || | |||| || | ||| ||/-+++-+-+-++++++--+-+++++-+--+--++-+-++---++-+++++++-+++\| /++-+--+-++\|| | |\++++-+++++++++--+/|| | | | || |||| | ||
|||| || || | |||| || | ||| ||| ||| | | |||||| | ||||| | | || | || || ||||||| ||||| ||| | | ||||| | | |||| ||||||||| | || | | | || |||| | ||
|||| || || | |||| || | ||\--+++-+++-+-+-++++++--+-+++++-+--+--++-+-++---++-++/|||| ||||| ||| | | |||||/+-+-++++-+++++++++--+-++-+-+-+-++--++++\| ||
|||| || || | |||| || /+-++---+++\||| | | |||||| | ||||| | | || | || || || |||| ||||| ||| | | \++++++-+-++++-+++++++++--+-++-+-+-+-++--/||||| ||
|||| || || | |||| || || || ||||||| | | |||||| | ||||| | | || | || || || |||| ||||| ||| | | |||||| | |||| ||||||||| | || \-+-+-++---++/|| ||
|||| || || | |||| || || || ||||||| | | |||||| | ||||| | | || | |^ || || |||| ||||| ||| | | |||||| | |||| ||||||||| | || | | || || || ||
|||| || || | |||| || || || ||||||| | | |||||| | ||||| \--+--++-+-++---++-++-++++-+++++-+++-+--+--++++++-+-++++-+++++++++--/ || | | || || || ||
|||| || || | |||| || || || ||||||| | | |||||| | ||||| | || | || || || |||| ||||| ||| | | |||||| | |||| ||||||||| || | | || || || ||
|||| || || | |||| || || || ||||||| \-+-++++++--+-+++++----+--++-+-++---++-++-++++-+++++-+++-+--+--++++++-+-++++-+/||||||| || | | || || || ||
/++++-++-++-+-++++-++-++-++\ |\+++++---+-++++++--+-+++++----+--++-+-++---++-++-++++-+++++-+++-+--+--++++++-+-++++-+-+++++++----/| | | || || || ||
||||| || || | |||| || || ||| | ||||| | |||||| | ||||| | ||/+-++---++-++-++++<+++++-+++-+--+--++++++-+-++++-+-+++++++-----+--\| | || || || ||
||||| || || |/++++-++-++-+++--+-+++++---+-++++++--+-+++++----+--++++-++---++-++\|||| ||||| ||| | | |||||| | |||| | ||||||| | || | || || || ||
||\++-++-++-++++++-++-++-+++--+-++++/ | |||||| | ||||| | |||| || || ||||||| ||||| ||| | | |||||| | |||| | ||||||| | || | || || || ||
|| || || || |||||| || || ||| | |||| | |||||| | ||\++----+--++++-++---++-+++++/| ||||| ||| | | |||||| | |||| | |||||\+-----+--++-/ || || || ||
|| || || || ||\+++-++-++-+++--+-++++----+-++++++--/ || || | |||| || || ||||| | |||||/+++-+--+--++++++-+-++++-+-+++++-+--\ | || || || || ||
|| || || || || ||| || || ||| | |||| | |||\++----++-++----+--++++-++---++-+++++-+-+++++++++-+--+--++++++-+-++++-+-+++++-+--+--+--++---++---/^ || ||
|| || || || || ||| || || ||| | |||| | ||| || || || | |||| || || ||||| | ||||||||| | | /++++++-+-++++-+-+++++-+--+--+--++---++----+-++\||
|| || || || || ||| || || |||/-+-++++----+\||| || || || | |||| || || ||||| | ||||||||| | | ||||||| | |||| | ||||| | | | || || | |||||
|| || || || || |||/++-++-++++\| |||| ||||| || || || | |||| || || ||||| | ||||||||| | | ||||||| |/++++-+-+++++-+\ | | || || | |||||
|| || |\-++-++-++++++-++-++++++-++++----+++++-++----++-++----+--++++-/| || ||||| | ||||||||| | | ||||||| |||||| | ||||| || | | || || | |||||
|| || | || || ||||\+-++-++++++-++++----+++++-++----++-++----+--++++--+---++-+++++-+-+++++++++-/ | ||||||| |||||| | ||||| || | | || || | |||||
|| || | || || |||| | || |||||| |||| ||||| || || || | |||| | || ||||| | ||||||||| | ||||||| |||||| | ||||| || | | || || | |||||
|| || | || || |||| | || |||||| |||| ||||| || || || | |||| | || ||||| | ||||||||| | ||||||| |||||| | ||||| || | | || || | |||||
|| ||/+--++-++-++++-+-++-++++++-++++----+++++-++----++-++----+--++++--+---++-+++++-+-+++++++++--\ | ||||||| |||||| | ||||| || | | || || | |||||
|| |||| || || |||| | || |||||| |||| |||||/++----++-++----+--++++--+-\ || ||||| | ||||||||| | | ||||||| |||||| | ||||| || | | || || | |||||
|| |||| || || |||| | || |\++++-++++----++++++++----++-++----+--++++--+-+-++-+++++-+-+++++++++--+-+-+++++++-++++++-+-++/|| || | | || || | |||||
|| |||| || || |||| | || | |||| |||| |||||||| || || /+--++++--+-+-++-+++++-+-+++++++++\ | | ||||||| |||||| | || || || | | || || | |||||
|| |||| || || |||| | || | |||| |||\----++++++++----++-++---++--++++--+-+-++-+++++-+-++++++++++-+-+-+++++++-/\++++-+-++-++-+/ | | || || | |||||
|| |||| || || |||| \-++-+-++++-+++-----++++++++----++-++---++--++++--+-+-++-+++++-+-++++++++/| | | ||||||| |||| | || || | | | || || | |||||
|| |||| || || |||| \+-+-++++-+/| |||||||\----++-++---++--++++--+-+-++-+++++-+-++++++++-+-+-+-+++++++---++++-+-+/ || | | | || || | |||||
|| |||| || || |||| | | |||| \-+-----+++++++-----++-++---++--++++--+-+-++-+++++-+-+++/|||| | | | ||||||| |||| | | || | | | || || | |||||
|| |||| || || ||||/---+-+-++++---+-----+++++++----\|| || || |||| | | || ||||| | ||| |||| | | | ||||||| |||| | | || | | | || || | |||||
|| |||| || || ||||| | | ||||/--+-----+++++++----+++-++---++--++++--+-+-++\||||| | ||| |||| | | | ||||||| |||| | | || | | | || || | |||||
|| |||| || || ||||| | | ||||| | ||||||| ||| |\---++--++++--+-+-++++++++-+-+++-++++-+-+-+-+++++++---++++-+-+--/| | | | || || | |||||
|| |||| || || ||||| | | |\+++--+-----+/||||| ||| | || |||| | | |||||||| \-+++-++++-+-+-+-+++++++---++++-+-+---+-/ | | || || | |||||
|| |||| || || ||||| | | | ||| | | ||||| ||| | || |||| | | |||||||| ||| |||| | | | \++++++---++++-+-+---+----+--+--++---++----+-++/||
|| |\++--++-++-+++++---+-+-+-+++--+-----+-+++++----+++-+----++--++++--+-+-+++++++/ ||| |\++-+-+-+--++++++---++++-+-+---+----/ | || || | || ||
|| |/++--++-++-+++++---+-+\| ||| | | ||||| ||| | \+--++++--+-+-+++++++----+++-+-++-/ | | |||||| /-++++-+-+---+-------+--++---++-\ | || ||
|| |||| || || ||||| | ||| ||| | | \++++----+++-+-----+--++++--+-+-+++++++----+++-/ || |/+--++++++-+-++++-+-+---+-------+--++---++-+--+-++\||
|| |||| || || ||||| | ||| ||| | | |||| ||| | | |||| | | ||||||| |\+---++---+++--++++++-+-++++-+-+---+-------+--++---++-+--+-+/|||
|| |||| || || ||||| | ||| ||| | /+--++++----+++-+-----+--++++--+-+-+++++++----+-+---++---+++--++++++-+-++++-+-+---+---\ | || || | | | |||
|| |||| || || ||||| | |||/+++--+----++--++++----+++-+-----+--++++--+-+\||||||| | | || |||/-++++++-+-++++-+-+---+---+---+--++\ || | | | |||
|| |||| || || ||||| | ||||||| | || ||\+----+++-+-----+--++++--+-/|||||||| | | || |||| |||||| | |||| | | | | | /+++--++-+-\| | |||
|| |||| || \+-+++++---+-+++++++--+----++--+/ | ||| | | |||\--+--++++++++----+-+---++---++++-++++++-+-++++-+-+---+---+---/ |||| || | || | |||
|| |||| || | ||||| | ||||||\--+----++--+--+----+++-+-----+--+++---+--+++/|||| | | || |||| |||||| | |\++-+-+---/ | |||| || | || | |||
|| |||| || | ||||| | |||||| | || | | |\+-+-----+--+++---+--++/ |||| |/+---++---++++-++++++\| | || | | | |||| || | || | |||
|| |||| || | ||||| | |||||| | |\--+--+----+-+-+-----+--+++---+--++--++++----+++---++---++++-++++++++-/ || | | | |||| || | || | |||
|| |||| || | ||||| | |||||| | | | | | | | | ||| | || |||| ||| |\---++++-++++++++---++-+-+-------+-----++++--++-+-++-+-++/
|| |||| || | ||||| | |||||| | | | | | | | | ||| | || |||| ||| | |\++-++++++++---++-+-+-------+-----++++--++-+-++-+-/|
|| |||| \+--+-+++++---+-/||||| | | | | | | | | \++---+--++--+/|| ||| | | || |||||||| || | | | |||| || | || | |
|| |||| | | ||||| | ||||| | | | | | | | | || | || | || ||| | | || |||||||| || | | | |||| || | || | |
|| |||| | | ||||| | ||||| | | | | | | \-----+---++---+--++--+-++----+++---+----+-++-+++++/|| || | | | |||| || | || | |
|| |||| | | ||||| | ||||| | | \--+----+-+-------+---++---+--++--+-++----+++---+----+-++-+++++-++---++-+-+-------+-----++++--+/ | |^ | |
|| |||| | | ||||| | ||||| | | | | | | || | || | || ||| | | || ||||| || || | | | |||| | | || | |
|| |||| | | ||||| | ||||| | | | | | | || | || | || /-+++---+----+-++-+++++-++---++-+\| | |||| | | || | |
|| |||| | | ||||| | ||||| \----+------+----+-+-------+---++---+--++--+-++--+-+++---+----+-++-/|||| || || ||| | |||| | | || | |
\+-++++---+--+-+++++---+--+/||| | | | | | || /-+--++--+-++--+-+++---+----+-++--++++-++---++-+++-------+----\|||| | | || | |
| |||| | | ||||| | | ||| | \----+-+-------+---++-+-+--++--+-++--+-/|| | | || |||| || || ||| /-----+----+++++--+--+\|| | |
| |||| | | ||||| /+--+-+++--------+-----------+-+-\ | || | | || | |\--+--++---+----+-++--++++-++---++-+++-+-----+----+++/| | |||| | |
| |||| | | ||||| || | ||| | | | | | |\-+-+--++--+-+---+--++---+----+-++--++++-++---++-+++-+-----+----++/ | | |||| | |
| |||| | | ||\++--++--+-+++--------+-----------+-+-+-----+---+--+-+--++--+-+---+--++---+----+-++--++++-++---++-++/ | | || | | |||| | |
| |||\---+--+-++-++--++--+-+++--------+-----------+-+-+-----+---+--+-+--++--+-+---+--+/ | | || |||| || || || | | || | | |||| | |
| ||| | | || \+--++--+-+/| | | | | | | | | || | | | | | | || |||| |\---++-++--+-----+----++--+--+--/||| | |
| ||| | |/++--+--++--+-+-+--------+-----------+-+-+-----+---+--+-+--++--+-+---+--+----+----+-++--++++\| || || | | || | | ||| | |
| ||| | |||| | || | \-+--------+-----------+-+-+-----+---+--+-+--/| | | | | | | || |||||| || || | | || | | ||| | |
| ||| \--++++--+--++--+---+--------+-----------+-+-+-----+---+--+-+---+--+-+---+--+----+----+-++--+/|||| || || | | || | | ||| | |
| ||| |||| | || | | | | | | | | | | | | | | | | | || | |||| || || | | /++--+--+---+++-+-\|
| ||| |||| | || | | | ^ | | | | | | | | | | | | | || | |||| || || | | ||| | | ||| | ||
\-+++-------++++--+--++--+---+--------+-----------+-+-+-----+---+--+-+---+--+-+---+--+----+----+-++--+-/||| || || | | ||\--+--+---+/| | ||
||| |||| | || | | | | | | \---+--+-+---+--/ | | \----+----+-++--+--++/ || || | | || | | | | | ||
||| ||\+--+--++--+---+--------+-----------+-+-+---------+--+-+---/ | | | | || | || |v || | | || | | | | | ||
||| || | | \+--+---+--------+-----------+-+-/ | | \--------+---+-------+----+-++--+--++-----+/ || | | || | | | | | ||
||| || | | | | | | | | | | | | | | || | || | || | | || | | | | | ||
||\-------++-+--+---+--+---+--------+-----------+-+-----------+--+----------+---+-------+----/ || | || | || | | || | | | | | ||
|| || | | | | | | | | | \----------+---+-------+------++--+--++-----+--++--+-----+---+/ | | | | | ||
\+--------++-+--+---+--+---/ \-----------+-+-----------+-------------+---+-------+------++--+--++-----+--++--+-----/ | | | | | | ||
| || | | | | | | \-------------+---+----<--+------++--+--++-----+--++--+---------+----+--+---+-/ | ||
| \+-+--+---+--+------------------------+-+-------------------------/ \-------+------++--+--++-----+--+/ | | | | | | ||
| \-+--+---+--+------------------------+-+-------------------------------------+------++--+--+/ | | | | | | | | ||
| \--+---+--+------------------------+-+-------------------------------------+------++--+--+------/ | | \----+--+---+---+-/|
| | | | | | \------++--/ | \---+--------------+--/ | | |
\--------------+---+--/ | | || | | | | | |
| | | \--------------------------------------------++-----+-------------+--------------+------+---+--/
| | | || | \--------------+------/ |
\---+---------------------------/ |\-----+----------------------------/ |
\--------------------------------------------------------------------------/ \---------------------------------------/