sssssssssssssssssssssssssssysysssssyyyyyyyyyyyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyssssoosoys+yo/+/+/--.....:++++oosssoosoooooooooooooo+++++++++ooo+++++oooooooo+ooo++/------://::///--o//yoooooooooo++++sssssssoo++++++osssssssooosooosoossoo++oo+++++++++oooooo+++/+++ooooooooooooooooooooo
sssssssssssssssssssssssssyyyyyyyyyyyyyyyysyyssysyyyyyyyyyyyhyyyyyyyysoo+////+ooossssyyhs+yoossso///++////////osss+:--------.....--..................------:+oss+::::::::://::::///++:ys++++++ooooooosssssssoo++ooooosyysssssoossssssssssooooososooooooooosso+++++++ossssssssssssssssssss
sssssssssssssssssssssssssossyyssssyyyyyyyyyyyyysyyyyyyyyyyhhhyyyyyyysssssyyyyyhhyhhhhhhs+yo+yhyyo+++++////::://::------------........................---------::---::::::///+ssyo/++/syyysssssoooo++sssssssssssssssssssssoooooooooossssssssossosssoossssssso+++++++sssssssssssssssssssss
ssssssysssssssssssssssssooosyyssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssoooooo+++osyyyyyyhyshyoyhyso++++ooooooo+oooooooosssosssssssssssoooooooooooo+ooo+++++///++++++//////////+ooy+/ss+sssosssssssssosssssooossssyyyysssssssoosooooosssssssoooosoooooossssssso+++++++sssssssssssssssssssss
sssssssssssssssssssssssooossyysoooosyyyyyyyyyyyyyyyyyyyyhyyyhhhyyyyso/:::::/++/+yyyyyyhhhsysyyyssooooooosssssssssssssyyyyyyyyyyyyyyysssssssyyysssssssssoosoooooooooo++///+++++os+ssssysooooo+//::-::ssssssssssssssssssssssssssssssssssssooooosoo++oossssssso+++++++sssssssssssssssssssss
ysssssssssssssssssssssoosssyysssysssyyysyyyyyhyyyyyyyyyyyhhhyyyyyyyso/::::://+/+syyyyyssyo/ooo+++++++oosoosssssyyysssyyyyyyyyyyssssssssssossssssssssssssssssssooooooo+++///++ooooo/syyssooo+/::-----ssssssssoosssyysssssyyysssyyyysssssoooooosoooooossssssso+++++++ossssssssssssssssssss
yyssssssssssssssssssssssssyyyyoosyyyysoosssyyyyyyyyyyyyyyyhhyyhyyyyso+::::://+/++ooos+/:oo://+ssyyyyyyyyysyysyssssssssyssssssssossoo+o++o++o+oooooooosoooooossssossssooooooo++///::oos++++++/::::---ssssssssssossyssosyyysssssyyyssoosssosssooooossooossssso+++++++ossssssssssssssssssss
yyyyssysssssssssssssssssssyyyysoooooossosossyyyyyyyyyyyyyyhhsyyyyyyysoooooossssyysyyyyo/oo::+osoysossssssssssysssssssssssssssososo+o+o++o++o+o++oooooooooooooooooooooos+soooooo+/-:ooo+ssooo+++////+ssssssssssoossssoossssssssyssoooooososo++ooosssssoosssso++++//+ossssssssssssssssssss
yyyyysyssssssssssssssssssssssyssoo+++ooooossyyyyyyyyyyyyyyhyyyyyyyyyysssssossossssssyyo+oo//+ossyssssyssysssssssssssssssssosoos+oooooo++o++o+oooooooooooooooooooooosooo+ooooooo//::oooosssosoossossossssssssys++ssssoossssssssysoooooo++++++ssoooosssssosssoo+++//+ossssssssssssssssssss
yyyyyyysssssssysssssssssssssssssso+++++oooossyyyyysssyssyyyysyyyyyyyysyyyyssyssyssyyyys+oo//+osoysssssssyssssssssssssssssssssosossooosoosoososoosoooooooooooooooooossoo+ooosoos+/::oooosssosssssosssssssssssss+ossssssssssssssssooo++++++++osooo+osssssoosssso++///ossssssssssssssssssss
yyyyyyyysyssyyssssssssssssssssssso+//++++oossyyyysssssooyyyysyyyyyyyyssssssyyyysssyyyyo+so//+ossyssssyssyssysysssssssssssssssosossosossosoososoosooooooooooooosssssssos+ooooooo//::+ooosssssssssssssssssssssss++ssssossssssssssooo++++++/+ossooooossssssssssssoo//+sssssssssssssssssssss
yyyyyyyyysyyysssssssssssssssssssss+//+++++oosyyyyyssssooyyyssyyyyyyyysoossosysyysyyyyys+so//+ossysssssssyssysysssssssssssssssssossosossosoososoososooooooooossssssososs+oooooss++::+oossssossosooooosssssssssso+ossoossooosssssoo++++////+ossoo++osssssssssosssso++sssssssssssssssssssss
yyyyyyyyyyyyysssssssssssssossssssss//////+oosyyyyssssso+yyysosyyyyyyysssssssysyysyyyyys+so//+ossyssssyysyssssysysssssssssssssssossossssosoososoososoosooooossssssoosossosooosss++:-oosossssssossoosossssssssss+/osso+ssoosssssoo++///////ooosoo++ossssssssssosssssosssssssssssssssssssss
yyyyyyyyyyyyyyysssssssssssoossssssso/://///osysyyssssso/yyyo+syyyyyyyssssssyysyyyyyyyysoso//+ossyssssyssyysysyssssssssssssssssyossssssssysssssoososossosssssssssssosoosossosssso+::ooosssssssossoosossssssssss/:oss+/soooosssso++//:::::+sossoo++ossssssssssssssssssssssssssssssssssssss
yyyyyyyyyyyyyyyyyyyysssssssossssssss+//////+oysysooooso+syy+/shyyyyyyyyssssyyssyyyyyyysoso//+oysyssysyysyyyysyyyysyyssyssyssssyossssssssyssssssssssossosssssssssssosoososoosoos++/:oossssssssossssssssssssssos/-+ss+/oo+++ososo+/:::/::+oossso+++osssssssssoosssssssssssssssssssssssssss
yyyysyyyyysssyyyyyyysssssssoossssssso/::/::/+ssso++++oy+oys/:ohyssyyyyssyssyysyyyyyyyysoss/+osysyssysyssyssysysyysyysyyyyyssysysysssssysyssyssssssssssososssssssssooossossosoosoo/:oosssssssssssssssssssssooos:-/so++o+//++ooo+/::::::/ooossso+++osssssssssoooosssssssssssssssssssssssss
yyyyssyyysssssyyyyyysssssoooooooo+++/:--:::/ossso+++ooyyss+::+hyssssysyssssyyyyyyyyyyysoos/+ooysyysysyssysyysyyyyyyyyyyyyysyysysssssssssyssysssssssssssssssssssssssssssossossosoo/:oosssssssssssssssssssooooos:-:oo+oo+////+oo+/:-:--:/oooosso+++ossssssssssoooossssoossysssssssssssssss
yyyyssyyyssossyyyyyysysssoosso++/////:::::://////+++osyyyo:--+hssssssssssssyyyyyyyyyyyyoos/+oossyyyysysyyyyyyyyyyyyyyyyyyyyyyyysyssyssysyssyssssssssssssssssssssssossosossossssoo/:oosssssssssssoooosssooooooo-.-:ssso+////+++//:------:::///+++++sssssssssso+ooosssoosssyysssssssssssss
yyyyysyyssooossyyyyyyyssso+oosssosoo:--/://++++++++++oyyy+---/hsooossssssssyyyyyyyyyyysoos++osysyysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssyyyssysssssssssssssyssssssssosssssssoo/:+osssssssssssoosooooooo++oo-..-ssso+//:/::::::------/////++++++osssssssssooooosssossyyyyyysssssssssss
yyyyyyyyssoooosyyyyyysssso++oossssoo-.-----::+++///:::+os+---/ysoooosssssysyyyyyyyyyyyssos++osysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysyyssssssssosssssssoo//+osssssssssssossosooooo++oo-..-sss+/:::////:----...-oooosso+/:+osssssssssoooooossosyyyyyyyysyssssssss
yyyyyyyyysoooosyyyyyyyssso/+oossssoo-......-::/::-----/+s+.-./ysooooossssssyyyyyyyyyyyysosoossyyhyyyyyyyhyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssyssssssssoo++osyssssssssssosoosoo+++/+oo-...o++:------:/--......-ooooss+/::+oossssssssoooooosssyyyyyyyyyyyyyyyyyys
yyyyyyyyysso++syyyyyyssss+/+oossssso-..-..---:/-------/+s+..-:ys++o+oosssssyyyyyyyyyhyyssyoossyyhyyyyyyyhyyhyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssysyyssssssoo+osssyssssssssssoooo++++//oo-...oo+:------::--.......ooooss+/::/oossssssssooooossssyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyssoosyyyyyssssso/++ossssss:.:+--...-:-------/+s+...:yo/++++ossyyyyyyyyyyhyhyyssyssssyyyyyyyyyyhyyhyhyyhyhhyhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysyssssyssso+osssyssssssssooooo+++/+//+o-...ooo-------::-.--.--..ssssss+/::/oooossssssoooossssyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyoosyyyysosssso//+ossssso:.-+:/-...:-....../os+...:ys/++++ooosssyyyyyyyyyyyyysyssyyhyhyyyyhyyhyyhyhyhhyhhyhyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysssssysso+ossyyysssssssoo++o+///+//oo-..-oso-....--:-...--::.-ssssss//:-/ooooossyyssssosssyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyssyyyysssssso//++ssssss:.-+::/:-:/-....../ss+.../hs/++/+oossssyyyyyyhhyyhyyyysyyhhyhyyhhhhhhhhhyhhhhhhhyhhyyyyyyyyyyyyyyyyyyysyssssyyyyyyyyyyyyyyyyyyyyyyysyysyyyyyssososyyysssssosoo++o+////:/+s-...oso-....--::..::-::.-ssssso/::-/sooooosyyssssssssyyyyyyyyyyyyyyyyyyyyy
yyyyyyyssssssyyyyyssssyyso+++osyssss:..--:::--::--..../sso-../hs///++osssssyyyyyyhhhhhyyyysyhyyyhyyhyhhhhhhhyhhhhhhhhhyyyyyyyyysssssssssssssssssssssssssyyyyyyyyyyyyyyysyysyyyyyso+o+syyssysssssoo++o+//////+s-..-ooo-.....-::::/:::-.-ssssso//::+ssoooosyyssssssssyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyoossssyyyssssyyyss++oosyssss:......---/:-...../sso---/hs+++oossssssyyyyyyhhhhhyosysyhyhyhhyhhhhhhhhhhhhhhhhhyhyyyyyssssooooooooooooooooooooooossssssyyyyyyyyyyysyyyyyyyyso+o+oyyyyysssssooooo+++/+//+s-..-ooo-.....-:::---....-ssssyo+/::+syssooosssossssssyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyoossssyyyssyyyyyysooossysyys/--::----:/:---.--+yso---/hyoooossyyyyyyyyhhyhhhhhysysyhhhhyhhhhhhhhhhhhhhhhhhhyyyyysssoooo++++++///////////++++++ooooosssssyyyyyyyyyyyyyyyyysooo+syyyysssssssooooo+o+++os-..-oso:.....-:/:----...-sssyys+//:+yyyyssosssosssoosyyyyyyyyyyyyyyyyyyyyy
yyyyyyyysossssyyyyyyyyyyysoosssooo++/::///:--/+//:::::oyys--:+hysssssyyyyyyyyyyyyyhyyhyhyyhhdhdddhhhhhhhhhhhyhhhhyysssooo++///::::--.............---::::/++oosssssssysysyyyyyyyyhhsosssssssssssssssssooooooooy:-.-sss/------:/:-------:sssssso+//oyyyyyysssossssoosyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyssysyyyyyyyyyyyhyyyhhhhyyyyoo++++ooooo++oo+++ooo+///+oosssyyyyhhhhhhhhhyyyhhhyhhyhhdddddhhhhhhhhhyhyhyyysssoo++/:-...........................`....-:/++ooooossosssyyyyhhhs+sssyssoosysssssssooo+++++o::-:sys+/:::::///:::/++++ooooossssssssssyyyysossssooyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyhhhhyyyyssyyyyyyy+::--::/+sssooo+oss+shyssssyyyyyhyhhhhhhhhhhssyhhhhhhhhddddhhhhhhhhhhhhyyyyssoo+/-..`......``........................`.....-:/+ooosssssssyyhhhysysyyyo++oyyyyyyyyyyyyyysooooooo++++/+osssyyhhhhhyyyyyyyyyyyyyyyyyyyyyyssssssssyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyhhhhhyyyyyyyyyyyyyyyyysyyyyyyo::::://+yss++++oso+shysooshhyhyyyyyhhhhyhhyyyhhhhddhhhddhhhhhhyyyyyyyyssso+:-....``.``````````.....................```..``.....-:+ossosoosshyysyhhyyysosyyyyyyyyyyyyyyys//+oyyo+so++/ossyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyhhyyyyyyyyyyyyyyyyyysysyyyyyyyo//:///+syyyooossso+yhhysshhyyyyyyyyyyyyyhhhhhdddddhhhhdhyyhhhhhhhhhyyyyo/......```..............................```.``.......``...-+sssyyyyyyysyhhhyhhyyyyyyyyyyyyyyyyyhy+osyyo/ooo+oooosyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyhhhyyyyhyyyoosyyyyyyssyyyyyyyys+////++oyyyssyyyysoyhhhsshhyyhhhhhhhhhhhhhhhddhhhhhhhhhyyhhhhhhhhhyyyo:..`..........................................................-/osyyyyyysyhhhhyhhyhhyhhhhhyyyyhyyhhooyyys+ossssoosyssyyyyyyyyyyyyyyhyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyhhh
hhhhhhhhhyyyyyhyyysssyyyyssssyyyyyyyyo++++ossyhyssyyyhhyhhhhyshhhhhhhhhhhhhhhhhhhddhhdhhhhhdhhhhhhhhhhyys:..........................www.victorgiers.com......................:osyyysoyhyyyyyyyyyyyyyyhyyyyhhhhhooyyyssyyyyosyyyyyyyyyyyyyyyhyhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhh
hhhhhhhhhhyyyhhyyyyssssyyysyyyyyyyyyyoooooossyhyyyyyhhhhhhhysyhhhhhhhhhhhhhhhhhhhhhhhdhhhhhdhhhhdhhhhyo:..`...................Copyright (c) 2017 Victor Giers..................-+yysoyyyyyyhyyyyyyyyyyyyyyyhyhhooyyyyyhyyysyyyyyyyyyyyyyyyhhhhhhhyyyhhhhhhhyyysyyyyyyyyyyyyyyyyyyyhhhhhhh
hhhhhhhhhhhyhhhyyyyyysssyysyyyyyyyhyyooooossshhysyyyhhhhhhhhyyhhhhhhhhhhhhhhhhhhhhdhhddddhhhhhhhhhhys:Permission is hereby granted, free of charge, to any person obtaining a copy:osoyyyyyyhhyyyyhhyyhyyyyhhhyhsoyyyyyhhysyyyyyyyyo+//++oyyhhhhhhyyhhhhhhhhhyyysyyyyyyyyyyyyyyhhhhhhhhhhh
hhhhhhhhhhhhhyhyyyyyyyyyyyyyyyhhyhyyyooossssshhysssyyyhhhhhyyhdhhhhhhhhhhhhhhhhhhhdhhddhhhhhhhhhhhy:.of this software and associated documentation files (the "Software"), to deal.:syhhhhhyyyyyhhhhhhhhhhhhyhsoyhyyyhhyyhyyyhhs+//++///++yhhhhhyhhhhhhhhhhyyyyssyyyhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhyhhhhhhhhhhyyyhhhhhhhhhhhyysssssyhhhyyyyyhhyhhdhyhhhhhhhhhhhhhhhhhhhhddhhdddhhhdhhhh+.....in the Software without restriction, including without limitation the rights...-ohyhhhhyhhhhhhhhhhhhhhhyhsoyhhyyhhyyhyyyyhso+/+///+++oyhhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhyyhyyyyyyyyyyyyyyyyyyhhhhhyhhhhhhhdhyydhhdhhhhhhhhhhhhddhddhddddhhhhhhho......to use, copy, modify, merge, publish, distribute, sublicense, and/or sell.......-yyyyyhhhhhhhhhhhhhhhhhhhsoyhyyyhhyyhhhhhhyso++///++ooshhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhyyyhhhhhhhhhhhhhhhhhhdhyyddhddddhhhhhhhhhddhddhddhhdhyhhhs........-copies of the Software, and to permit persons to whom the Software is........../yyhyhhhhyhhhhhhhhhhhhhhsoyhyyyhhhyhhhhhhhyso+//+++++osooo++++++syhhhhhyyhhyyyhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhssssssyhhhhhhhhhdhhddhhyhdddddddddddhdddhddhddhddhhdhyhhs-.................furnished to do so, subject to the following conditions:................+yhhhhhhyhhhhhhhhhhhhhhyoyhhhhhhhhhhhhhhyoo+//////////:::::::::/+shhhhhhhhhyhhhhhhhhhhhhhhhhhhhhh
hhhhhhdhhhhhhhhhhhhhhhhhhyhhhhhhhhhhyssssssyyhhhhhhhhhhhddhyyhddddddddddhhdddhddhddddddddhyyy:...--The above copyright notice and this permission notice shall be included in all.......-shhhhhhhhhhhhhhhhhhhhhyosyhhhhhhhhhhhhhso++///////::::::::::::///yhhhhhyyhyhhhhhhhhhhhhhhhhhhhhh
hhhhhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhssssssyyhhhhhhhhhhddddyyyhdddddddddddddddhddddddddddhysy/.....copies or substantial portions of the Software, including this very License file......:yhhhhhhhhhhhhhhhhhhhhsooshhhhhhhhhhhhyo+++//////////::::::::////ohhhhhhhhyhyhhhhhhhhhhhhhhhhhhh
hhhdhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhysssssyyhhdhhhhhhhhddddhyyhddddddddddddddddddddddddddhyso.........-----------------------.................................--------------.....---.---.-shhhhhhhhhhhhhhhhhhhhyooshhhhhhhhhddhso++////+/////////:::://///ohhhyyyhhhhyhhhhhhhhhhhhhhhhhhh
ddddhdddddhhhhhhhhhhhhhhhhhhhhhhhhhysssssyyhhhhhhhhhhhddddhyyhdddddddddddddddddddddddddddys+....-------THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR--------/hhhhhhhhhhhhhhhhhhhhysssddhhhhhhhddyo+++//+++++++++////::://///ohhhyhhhhhhhhhhhhhhhhhhhhhhhhhh
ddddddddddddhhhhhhhhhhhhhhhhhhhhhyysssyyyyyhhhhhhhhhhhddddhyyhdddddddddddddddddddddddddddhs/..----------IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,----------yhhhhhhhhhhhhhhhhhhhysssdddhhhhhhhhs+++//+ooooooo++++++/:://///shhhhyhhhhhhhhhhhhhhhhhhhhhhhhh
ddddddhhddddddhhhhhhhhdhhhhhddhhysssssyyyyhhhhhhhhhhhhdhddhhhhdddddddddddddddddddddddddddho------------FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE--------ohhhhhhhhhhhhhhhddhhyssyddhhhhhhhhho+++//+sssyssssssooo+//////+hhhyyhhhhhhhhhdhhhhhhhhhhhhhhhh
ddddddddhhhdddhhhhhhhdddhhhdddhyyyyyyyyyyyhhhddhhhhhhhhhddhhhhdddddddddddddddddddddddddddy+--------------AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER....-------+hhhhhhhhhhhhhhhddhhyssydhhhhhhhhdhoo+++/+ssyyyyyyyyyyyyso++ooyhyyhhhhhyyhhhdddddddddddddhhhhh
ddddddddddhhddddhhhhhhdddhhddhhhhyyhhhhhhhhhhddhdddddddhddhhhddddddddddddddddddddddddddddy/-----------LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,-------/yhhhhhhhhhhhdddddhdhyyyhhhhdhhdddhsoo++/+ssyyhhhhhhhhhhhhhhyyyyyyhhhyhhhddddddddddddddddddddd
dddddddddhhdddhhddhhhhhhhhhdhhhhhhhddddhhhhhhddhddddddddddhhhdddddddddddddddddddddddddddhy:-----------OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE--------yhhhhhhhhhdhdddddddhhyhhhhhhhhdddhsooo+/osyyyyhhyyyyhhhhhyyyyyhyyyhhhhhhhdddddddddddddddddddd
ddddddddhhhhddddhhhddhhhhhyhyhhyyyyhdddhhhhhhddhdddddhddddhhhdhddddddddddddddddddddddddhhs:--------------------------------------........SOFTWARE...........-------------------------------ohhhhhhhdhdddddddhhhyyhhdhhhhhhddhssoo++osyhhhhhhhhsyyyyyyyhhhyyhhhhhhhhddddddddddddddddddddd
dddddddddhhhhhdddddhhhhhhhhhhyhhyyyhddddhhhhhddhddddddhhdddddddhhdddddddddddddddddddddddhs----::---------..........----............................................................--------/hhhhhhhdddddddhhhhhhhhhhhhhhdhdddyysssosyyhhhyyhhhyyyssyyhyyhhddhhhhhhhddddddddddddddddddddd
ddddddddhhhhhdddddddddhhhhhhyyhhhyhhddddhhhhhhhyhddddddhhdhhhddddhddddddddddddddddddddddh+----::-------...........---................................................--.............-------:yhhhhhdddddddhyhhhhhhhhhhhddhhdddhhhhoyhhhdhhhhhhhyyyyyyyhhdddddhhhhhhhddddddddddddddddddddd
ddddddddhhhhddddddddddddddddhdhhhhhddddhhhyyyyssyhdddddhhhhdhddddhhhdddddddddddddddddddhh+----::-----............-----------..................................------------..........-------:yhddddddddhhyyyhddhhddhhhhddddhhhhyyyoyhhhdhhhhhhhhhhhhhdddddddhhhhhhhhddddddddddddddddddddd
ddddddddhhhhdhdddddddddddhhdyhhyyhhhhddddhhhhhhhhhddddhhddddddddhhhhhhhddddddddddddddddhh+----::-----.........--------------------.....................------------::::::-------.....------/hdddddddhhyyyyhhhdhhhddddhdddhhhhhhhhhdddhdhhhhhhhyhyyhhddddddddhhhhhhhddddddddddddddddddddd
ddddddddhhhhhdddddddddddhhhhyhhhhyyhhdddddhhhhhhhhddddddhhhdddddhhyyyhhhhhhdddddddddhdhhyo::-::-----.....-----::::::///:::::::::------................---::::////+////////////::--....-----/hhhhhhhyyyyssssyhddhhhhhdddddhhhhhhdddddddhhhyyhhyossyyhhhhdddddhhhhhhhddddddddddddddddddddd
ddddddddhhhhhddddddddddhhhhhyhhyyyyyhdddddddddddhhdddddhhhdddddhhyyyyyhhhhhddddddddddddyss---::----...---:::://////+++oooooo+++///::---............----://+++oosooooooooo+++///::::-..-----/hhhhhhyyyyssssshhdddhhhhhddddhhddddddddddddhhhhyyhsyyyyyhhhhddddhhhhhhhddddddddddddddddddddd
ddddddddhhhdddddddddddddddhhyyhhhhhhddddddddddddhhddddddhhdddhhyyyyyyyyyyhhhhhhhhddddddyss::-::----..-:::://++++oooosssssyyyyysoo+//:---..........---:/+ooossyyyyyysso+//:::---------------/yyyyyyyyssssssssyhhddhhhhhhhdhhddddhhhhddddhhddhhhhhhhhhhhhddhhhhhhhhhdddddddddddddddddddddd
ddddddddddddddddddddddddddhssyhdddddddddddddddddhdddmdhhhddmhyhhyhhhhhhhhhdddhhdddddddddhs:::::------------:::::://++osyyyyyhhyyyso+/:--..........--::/oossyyyyysssoo++///::::-------------/hhhhhhhhhyyyyyyyyyyhddhhhddddddddddhhhhhddddddddddhhdhdddhhhhdhhhhhhhhdddddddddddddddddddddd
dddddddddddddddddddddddddhsooohdddddddddddddddddhdddddhhhdddhdddhdddddddddddddddddddddddds::::-----:--:::::::://++oooosssssyyyyhyyso+/:--.........--:/+ossyhhhhhhyyysooooo++////:::::------+dddddddddddddddddddhdddhhdddddddddddddhhdddddddddhhhhhdddddhhdhddhhhdddddddddddddddddddddddd
mmmmdddddddddmdmdddddddddho+/+ydddddddddddddddddhdddddhyyhddddddddddddddddddddmdddmddddddy::::-----:::///++++oooo++///+oosyyyysyyhys+/:--.........--:/+sssssyyso+///:////+++oosoo+//::-----+ddddddddddddddddddddddhhhdddddddddhdhddhdddddddddhhhhhddddddddhhdddddddddddddddddddddddddddd
mmmmmmmdddmmmddddddddddddh+::/sdddddddddddddddddddddmdhyyhdddhdddddddddddddddddddmmddddddy::::----:://+osssoo+++//::::::::/++oso+oyyo/:--.........--:/+o++o++//:::::://////+++ossso+/:-----/ddddddddddddddddddddddhhdddddddddddddddddddddddddhhhhhdddddddddhhdddddddddddddddddddddddmmmm
mmmmmdddmmmmdddddddddddddh/:::oddddddhhhhhyhhhhdddhdddsosydddhddhddddddddddddmdddddddddddy::::----:/+osyyysooo++/+///////:::---://:/+/:--....``...---:/:::---::////+++oosssssyssyyyo+:-----/hdddddddddddddddddddddhhhddddhdddddddddddddddddddhhhhhdddddddddddddddddddddddddddddmmmmddmmm
mmmmddmmmmdddddddddddddddh/---odddddhhhhhhhhddhhhhhddds+osdddhddhddddddddddddddddddddddddy::::----::/+oyhdhyhhyyyyyyysssso++//:---::::--............---:-:://++++osyyhdhdddhdhhys+/:::------/+shdddddddddddddddddhhhhdmddhhhhhhhdddddddddddddhhhhhddddddddddddddddddddddmmdddmmmmmmmmmmm
mmmmddmmmddhhhdddmddmmmddh/---odddddhhhhhhhdhhhhhhddddo/+sddhyhdhdddddddddddddddddddddhs++-::------:::://+yhhdhdhhhhdhhyso++/::----.............`.......----::://++ossysooyyyso//:---------....:yddddddddddddddddhhhddmdddhhhhhhhddddddddddddhhhhddddddddddddddddddddddddmmmmmmmmmmmmmmm
mmmmdhmmddhhhhdddmmdmddddh/-..+dddddddhhhdhhddddddddmdso+sdmhyhdhddddddddddddmmdddddds-....-----------::::/+ooosoo+o++//::---...................`..............--:://///+///+/::--------.--...-::sdddddddddddddddddddmmdddddddhhhhdddddddddddhhhdhddddddddddddddddddddmmmmmmmmmmmmmmmmmm
mmmmdhdmdhhhhhdmmmmmmddddh:.../hdddddddddddddddddddddhsoohdmdyhdhddddddddddddddddddds:/-....--------------:::::/:/::::----.......................................--------:-------------..----::-:+hdddddddmddddddddddddddddddddddddddddddddddhhhdhddddddddddddhhddddddmmmmmmmmmmmmmmmmmm
mmmmmdmmdhhyyhddmmmdmddddh:.../ydddddddddhddhhhdddmmmh+++sddysydhddddddddddddddddddd+:-::------------------------------...............................................-----------------...-::+/-.:ydddddddddddddddddmmmmdddddhhhhhhdddddddddddhhdhdddddmdddddhdddddddmmmmmmmmmmmmmmmmmmm
mmmmmdmmdhhyyyddmmmmmddddh:.../yhhdddddddhyyhhhhhddddy/::oddy+sdhddddddddddddddddddy:..:++:::---------------------..........`..............................................---------------:////:-:hddddddddddddddhdddmmddddhhhhyyyhdddddddmddddddhddmdmmdmdddddddddddmmmmmmmmmmmmmmmmmmm
mmmmmmmmmdhhhhdmmmmmmdddos:.../yhhdddddddhyyyhhhhhhddy---+dds/odyhhddddddddddddddddy:--///+/::------------------...............``...................`........................--------------/s+::/oddddddddmddddddhhdddmdddhhhhhyyyhdddddddmmdhhhhdddmmmmmmddddddddddmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmddhhddmmmmmmddo-s-...:yyhhdddddhssyyhhhhhhddy-../hdo-ohyhhddddddddddddddddds+:::+o+::-----------------..............................................................--------------:/so//yddddddddmddddddhhddmmdddhhhhhhhhdddddddmmmddhhhddddmmmmmmdddddddddmmmmmmmmmmmmmmmmmmmm
mmmmmmmddmdhhddmmmmmdd+--s:+o--:-+syyyyyyys+hhhhhhhhds-../hdo-ohyhhdddddddddddddddddh+/+s+:::::------------------...............................``........................----------------://+o/:hddddddddmddddddhhddmmdddhhhhhddddddddddddmddhhhhdddmmmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmddmddddmmmmmd+:-:o:sy//:...+sssyyys/yhhhhhhhds-../hdo:ohhddddddddddddddddddddo/+o+/+::/:-------------------.....................................................------------------:++//::yddddddddmddddddhdddmmddhhhhhhddddddddddddmdddhhhddddmmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
mmmmmmmdhddmddmmmmmdo::::s:ss::+-:/osssssss/yhhhhhhhdy:.-+dds+odhdddddddddddddddddddh/:://+o////::--------------------------...........`....................------------------------------:::-:::yddddddddddddddddhddmmddhhhhhhddddddddddddmddddhddddddmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
mmmmmmmdhhhdmddmmmdo///+yh:-:-:ssyyyyyyyyys+yhhhhhhddy:--+ddyosdhdddddddddddddddddddd+::--:////+/::-------------------------------.......--......----.....---------------------------------...-:+ddddddddddmdddddhhhdmmdddhhhhhddddddddddmmmdddhhdmdddddmmmddddddddmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmhhhhdmddmdy++oyhdh:...:shhhhhhhhhddoyhhhhhhddy:::+hdyoshhhdddddddddddddddddddy/:-...-//++/::::-----------------------------...--://:-----:/+/:------------------------------------:..-:/hdddddddddddddddhhhhddmdddhhhhhdddddddmmmmmmddhhhdmmmddddmmdddddhdmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmhyhhhdmddhssyddddh:...:shhdddddhhhhsyhhhhhhddh/::+hdhssdddddhhhhhdhhhdhdddddhhs::-..-:/+o+/:::::::-------------------------::/oyyyyysoo+osyyhyo/::--------------------------------:-.-:yddddddddddddddddhyhdddmdddhhhyhdddddddmmmmmmddhhddmmmmmdddmdddddhdmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmdhhdhdmmhhhdmddddh:...:shdddddhhhhhsyhyhhhhddh/:/ohdhyydhdddhhhhhhhhhhhhdddhhyy+:-..-::/o++//:::::::-----------------------/syhyssssddhhhsosyhhs+:---------------------::::-------:---+hhdddddddddddddddhydddmmddhhhyyydddddddmmmmmmdddhddmmmmmmmmmdmdddddmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmdddhhdmdmmmmmdddh:...:sdddddddhhhdsyyyhhhhhdd+//ohddhddhdddhhhhhhhhhhhhhhhhhhhy+----://++++//:::::::::--------------------:/ooo+//+yyhys+///++/::-------------------::::::::----::::/yhhhhhhdddddddddmdhyhddmmddhhhyyyhdddddmmmmmmmddhhddmmmmmmmmmdddmddmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmmmmdddmddddhhhyyh/---/ydddmmddddddsyyhyhhhdddo++shdddddhhhdyhhyhhhyhhhhdhdhysyyo/::::///+++/////::::::::-----------------------::::://::::-----------------------::::::::::::---/++oydddddddddddddddmmdhyhddmmddhhyyyyddddddmmmmmmmdddddddddddddmmddmmmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmdddhhdmdmmmmddhhh+:::+dhhdhhhhhhhhoyhhyyhhdmdssosyhddmdhhddyhhhhhhyhhhhdhdhyyyyyys+++o+//+++//////:::::::::------------..........------..-.......--------------:::::::::::::---:shddddddddddddddddddmmdyshddmmddhhyyhhdmmmdddmmmmmmmdddmdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmdhhhhhdmdmmmmmmdddo/::odhhhhyyyyyys+syyyyhhdddyyyyyhddddhhddhhhhhhhyhhhhhddhyyhyyyyhmdys///++///////::::::::::----------...........................-----------:::::::::::::::---/mmddddddddddddddddddmmdyshddddddhyyyyyhdddddddddmmmmdddddmmmmmmmmmmdddmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmhsshhhmmmhhdmmddddo///sdhhhyyyyyyys+syyyyyhddmhyyhyhddddhhdhyhhhhhhyhhhhdhdhysyysyysydmds////////////:::::::::-----------.........................------------::::::::::::::---:shhhdddddddddddddddmdmmdyshddmdddyyyysshdddmddddmmmmmdddddmmmmmdddmmmddmdmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmms+shhmmmmdyyhdmddds+ooyhhhhhyyyyyysoyyyyyyhhdmdhhhyyhdddhhddhhhyhhhyhhyhhhdhhyyysssssysys+///////////:::::::::-------------....-----......-------------------::::::::::::::----/hhhhhhdhdddddddddddddddhyshhdmdhdyyssssydddmmmmmmmmmddddddmmmddhdmmmmmdmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmdsoyhdmmmmmhyyyhddmyossyydddddhdhhysyyyyyyyhhdmmhhhyyhdddhhddyhhyhhyyhhhhhhdhhyyysssosyosos+/////////::::::::::--------------:://////:---::///////::--------:::::::::::::::----:ohhhhhhhhhhhdhddddddddddhsohhdmdhdyyssssssydmmmmmmmmmddhhhdmmddhdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmhhhmmmhmmmmhyyyhddysyyyydhddddhddyssyyyyyyhhdmmhhhyyhdddhdddyhhyhhhyhhyhhhdyysyysssossoso+o////////:::::::::::::::::::::://++oooooo+++///++++oooooo+++///:::::::::::::::::----+hhhhhdhddddddhhddddddhddhsohhdmdddhyssssoooymmmmmmmmmddhhhddddhdmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNmm
Nmmmmmmmddmmdyymmmmmhyyyhdhyyyyydhddhhhhdyssssyyyyhhdmmddhsyhdddhhhhyhhyhhhyyhhhhhhhysyysssosysso+/+//////:::::::::::::::://+osssoooo+////++ooo++++/////++oossoo+//:::::::::::::::---/yhhhhddhhdddddhdddhdddhdddsohdmmdddyyssssoooydmmmmmmmmdhhhhdddddmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNmmmm
NNNNNNmddmmmysymmmmmmdhhhdhyyyhshhdddhdddysssyyyyyhdmmmmdhyhhhhhhdddhhhhhhyyyhhhhhhyysyysssossoso+//++////::::::::::--:::://+///:--........................---::::::::::::::::::::::/shhhhhhhhhhddhdhhddddddhddhhshdmmdddhyyssssooydmmmmmmmmdhhhhddddmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNmmm
NNNNNmmmmmmhhyhmmmmmmmdhhdhyyyhshhdddddddhyyyyhyhyhhhhhhddhhhhhhhhddyhhyhhyyhhhhhhhyysyssssossoso+://o++////::::::-----:::::::::::::-------...-....-----:::::::::::::::--::::::::::/syhhhhhhhhhdddhhyhhdddddhddhhhhddhhyyyyyyyysssydmmmmmmmmdhhhhdddmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNmmmm
NNNNNmmmmmhhyshmmmmmmmmdhhhhhhhhhhhhhddddhyyyyyyyhhhhdddmhhhhhhhhdddyhhyhhyyhhyhhhhyysyssssossoso+++++so++///::::::--------::::::////////:::--:---::://////:::::::::::----::::::::/syyyhhhhhhhhhdhhdhhhdddddhddhyyhddddyyyyssssssshmmmmmmmmmdhhhdddmmmNNNNNmdmmmmmmmmNNNNNNNNNNNNNNNmmmm
NNNNNmmNmdyhhyhmmmmmmmmmdddhhhdhhhyyyyyyhyssssssyyyydmdddhsyyhhhhhhhyyyyyyyyyyyhhhhyyssssssossoso+++o//syo++///::::----------:::://///+++++++++++++++////::::::::-::::::::::::://+yyyyyhhhhhhhhhdhhdyhhddhddhddhsoyddddhysssooo++oymmmmmmmmmdhhhddmmmmNNNNNmmmmmmmmmmNNNNNNNNNNNNNNmmmmm
NNNNmddmmdyyhhdmmmmmmmmddddhhhdhhhyyyyyhhsooooossssyhddddyosyyhhhhddyhhhyyyyhhyhhhhyysssossossossoooo//+yhyo++//::::-----------::::::://////++///////::::::::::----:::::::::///+oyhyyyyyhhhhhhhhhhhhyhhddddhhddhs+yhdddysooooo++++smmmmmmmmmddhhhdmNmNNNNNNmmmmmmmmmmNNNNNNNNNNNNNNNmmmm
NNNNmdmmmhhyyyhmmmmmmmmmddddhhddhhhhhhhyhsooooossssyhdddhyosyyhdhdddyyhyyyyyyhhhhhhhysssossossossooo+//+oyhdyso+//::::-:-------------::----------------------------::::::://+oo/syyyyyyyhhhhhhhhdhddhhdddddhdddys+yhhddyssooo+++++smmmmmmmmmdhhdddmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
NNNNmdmmmdhhyyhmmmmmmmmmdhdhyyhddddddddhhsooosossyyyddddhyoydhhdhhddyyyyyyhyyhhhhhhhysysssssssosoooo++/+ssoyhdhyo+//::::-------------------------------------------::::://+sys//syyyyyyyhyyyhhhhhhddhdddddddddhds+yhhddhyysoooo+++smmmmmmmmmdyyhhdmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
NNNNmdmNmddhhyhmNNmmmmmmdhhhyyhyddddmddddysyyyyyyhhddmmddyoyddhdhhhhs+ooooooshhhddddso+++ooooo++ooooos:oyyo+oyddhys+//:::----------------.............------------:::://oshy+::shhhhhhdddmdmdmmdddddhddddhhyyyhds+yhddddhhhyyyyyyyhmmmmmmmmmdyhyhdmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
NNNNmmmNNmddhhdmNNNmmmmmdhhyyyhdddmdmddddddhhhhhhhdddddmdsoydhyssssssssyysossssyyyyyo+oo+++oo+++oooos/:syhs+/+sydddhs+//::-----------...................---------::://+shho/:::syyysssssoo+ooo++oosyyyo++++++oyhs+ohdhhyhyysssyyhdhmmmmmmmmmhyyyydmNNNNNNNNmmmmmmmNmmmNNNNNNNNNNNNNNNNNN
NNNNmmdmmNNmdddmNNNNmmmmmdyyyyyyddmdmdddhhdhyyyyyyhhhhhhso+ydhysssssssossso+//////::////://++:://////-//::/o///+oydmdhs+/:::---------...................--------:://oydho/::::--/:::-::::::::::::/ooo++ooooooshds+++oyyysssoooosyyymmmmmmmmmhyysydNNNNNNNNNmmmmNNmdmmNNNNNNNNNNNNNNNNNNN
NNNNNNmhhmNNmmdmmNNmmmmmmdysssysddmdmmdddysyhssssyyyyo+//++yhyyyyyys+//oyysso++/////////:/:++:::::::--::---o+/////oydmmdyo+/::----------.............---------:://oydho/::::::-:/:-:-:::://///+osyyyo/::/oyhhhdhs+////+oysoooooysoymmmmmmmmmhssoshNNmmNNNNmmmmmmmdmmNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhmNmmmdmmmmdhdmhsssosddmmmmmddhyssyysssyyo+/////+o+osyys+:::+sddhhhhyyyyyhyys////oysoooos/--//:::+o///////+shmmmhs+//:::-------------------------:::/+ohdho/::::::::osy+:/::yyhhhhhhhhhhddy+/:::/shhdhy+///:::/ssoooysssymmmmmNmmmyssoshNmmNNNmmmmmmmdmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdddhdmmmmmdmmmdmmhsoooomdmmdddddhyyhhyyyhyo//////+s++ooo+/////shdddhhhhhyyyyhhh/ss+hhyyyyyh/--+yhdddo////////+oshdNNmhyo+//:::::-----------::::::://+oyhhs+//::::::::+ssyy/so/hhyyhhhhhddddddys+//::+ydhhho///:::+yyssyhyyhmmmmmmmmmyssoshNNNNmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdddddhhmmmmmdmmmmhso++ommmmdddddddhhyyyysyo///++oydo++++++ossyyhhyhyyyyyyyyyyyyoyyyhyhyyhhh/-/syhddds/:::://///+osydNNNNmhyso++/////:/:////////++osyhhys+///:::::::-:+osssossooooooooooosssooo++++/:/sdhhdhso+/::oyhhhdddmmmmmmmmmmmysooodNNmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdddddddhhmmmmmmmmho+++smmmmdddddddddmhhdhyoosyhhdhssyyy+:--:::+sssyyyssyhyhhsoo+o++++++++++++o++++/++//::://////++oosyhdmNNNmmdhyyysssssssssyyhdddhsoo++///:::::::--:oyyhhhhhhdddddddmmmmmmmdho/::--:+sooosyyysooshddddddmmmmmmmmmNmhsooohmmmmmmmdmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNdddhdmddmdhdmmmmdmho+++sddmddhhyhdddddhhdhhyysyyyyysoooo+/osyyyhhhhhhhyhdmdNNyyysyysyysyyyyhhhhyyhyyyh+/:::::://///+++oooosyhddddmmmmmmmmmddddhysso++++////:::::::---/dmmmmmmmmNNNNNNNNNNNNNNmmmmmddssssssyhhhhyyhhhddddmdmmdoooossyhhysosdmmmmmmdmNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNddhhdddmNNmdddmdmmdhysyyo//://+++dmmmmmdddhhhyhhhhhy+////ymmmhhdddddhhdmmmmNNhyyyyyyyyyyyyyyyyyyyyyssso/:::::::://////++++++++oooooo++++++++++++++++/////:::::::::---/dmmmmNNmmNNNNNNNNNNNNNNmNNNNNNhdhhyyyhyyhyhhdmmmmmmmmmh/+//:::-/oodddmmmmmmNNNmmmmdmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmddhhhhdmNNNmddmmdddd+/:-++//+o++dmmmmmsymdmddddhhhy+///:smmmdddddddddmmmNmNNhyhyyyyyyyyyyyyyyyyyyyyyyo::::::::::////////++++///////////////////////////:::::::::----/dmmmNNNmmNNNNNNNNNNNNNNmNNNNNNhdhhyyyhdmmmNNNNmmmmmmmmy/+/:::o:-:+ddddmdmNNNNNmmdddmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmddhhhhdNNNNNNmdddddd+:-/o---:+++dmmmmmsymmmmdddddhh++//:smmmdddddddddmmmmmNNhhhhhhhyyhhyyyyyyyyyhyyyyo:::::::::::://///////////////:::::::////////////:::::::::-----:dmmmNNNmNNNNNNNNNNNNNNNmNNNNNNhdhhysyhmNNNNNNNNmNmmmmmy:/:-..:---/ddddmNNNNNNNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhdhhdNNNNNNNmmdddd/-------///+dmmmmmsymmdddddddhho+//:smmmdhdddddddmmmNNNNhhhhhhhhhhhhhyyhhhyhhhhhhs::::::::::::::////////////::::::::::::////////::::::::::------:hmmNNNNmmNNNNNNNNNNNNNNNNNNNNNyhyysyyhmNNNNNNNNNmmmmmmy://:--...-/sshmNNNNNNNNmmmddddmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhhdNNNNNNNmNNyo++:...--:+/:+dmmmmmoymddddddddhho++/:ymNmdhdddddmmmmNNNNNdddddhhdddhhhhyhhhhhhhhhhy/:::::::::::::::///////////:::::::::::////////::::::::::------:hmNNNNNmNNNNNNNNNNNNNNNNNNNNNNyhyysyydNNNNNNNNNNmmmmmmy-:/--....-///ymNNNNNNNNmmmdddmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhddNNNNNNNNNNy+/+-.....-//:+dmmmmmsymdhdmmmddhhso+//ymNmdhmmdddddmmmNNNNdddddddddddhhhhhhdhdddhdhy:::::::::::::::::///////////::::::::::///////:::::::::::------:hmNNNNNmNNNNNNNNNNNNNNNNNNNNNNyhyyyyydNNNNNNNmmmddddddy-::----.../:/smNNNNNNNNmmmmmddmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhdmNNNNNNNNNNs///-.-::/://:+dddhhhhhddddmmmddhho++//ymNNdhmmdddddmmmNmNNddmdddddddddddhdddddddddds:::::::::::::::://////+++/////::::::////////:::::::::::--------ommmNNNmNNNNNNNNNNNNNNNNNNNNNNyhyyyyhdmmddhhhhyhhhhhddy-::-//:/:-/:/smNNNNNNNNmmddddmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhhmNNNNNNNNNNs///-/+-:/--::+hhdhhhhhhyyyyyyhhhyoo+/:ymNNddmmmddmmmNNNNNNddmmmmdddddddddddddddddddo:::::::::::::::::///////////////:::////////::::::::::::---------/ydmmmmmNNNNNNNNNNNNNNNNNNNNNyhyysyyssssssssyyyhhhhhdy--..-/::+-/:/smNNNNNNNNmmddmmmNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmddhhhhmNNNNNNmNNNs///-/+:/....-/hhhhhhhhyyyyysssosyso+//ymNNddmmmmmmmmNNNNNNddmmmddddddddddddddddddy/--::::::::::::::::::////////////::::::::::::::::::::::-----------../sdmmmmmmmmmNNNNNNNNNNNNNNNyhyyssyoooossssyyyyhhhdds--...-:/o-+::smNNNNNNNNmmmdmmmNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmddhhhhdNNNNNNmNNNs/:/-//--...--/hhddhhhyyyyyssssooyso+++hmNNddmmmmmmmmNNNNNNddmddddddddddddddddddy/-..-::::::::::::::::::::::::::::::::::::::::::::::::::-------------....:yddmmmmmmmmmmmmmNNNNNNNNyhyyssyoooosssyyhdddmmddy--:.--.-:-/::smNNNNNNNNmmmdmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhdmNNNNNNNNNNs///---.---::-/hdddmmhhdhhyysssooyoosoohmNNmdmmmmmmmmmmmmmmhddddddddddddddddddy+..-..-::-:::::::::::::::::::::::::::::::::::::::::::::-:-------------......-/syhddmmmmmmmmmmmmmmmmyhhysssoosyhddmmmmmmmmmdy--:-......+:/smNNNNNNNNmmmmmmmNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhdmNNNNNNNNNNs+//-......::-/hdddmmyyNmmmmddhyyyssso+hmNNmdmmmmmmmmmmmmmmhhddhhhhhhhhhhhyso/-.....---::-::::::::::::::::::::::::::::::--::::::::-------------------..........-:osyyyyyyhhhhhhhhdsyyyssyhdmmmmmmmmmmmmmmdy-::......-+:+omNNNNNNNNmmmdmmmmNNNNNNNNNNNNNNNNNNMNN
NNNNNNNmhhhhhdmNNNNNNNNNNs+//-......:/-/dddmmmyyNmmmmmmmmhhssso+hmmmmddddhhyssoo+++/:::------------......`...---::-:::::::::::::::::::::::::-------::::::---------------------...-.......`.....---.....--------://+ossyyhddddmmmmmdy-::-.....-+:/ommNNNNNNNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmhhhhhhdNNNNNNNNNNs+//-.....-//:+dmmmmmsyNmmmmmmmdhyoo++/+o++/::---................................-..----:--::::::::::::::::::::::::--------:::::----------------------...-.............-::--....................---::/+++o+--:......-+:/ommNNNNNNNmdddmmmmNNNNNNNNNNNNNNNNMMNMM
MMMNNNNmhhhhhhdNNNNNNNNNms+/+-.....-:/:+ddddddooyysoo+/::--...................-----:::::-----............-...-------:::::::----:::::::::::::--------::::-----------------------...................--::///+++//:::----.........................--:/hdmmmmNNmmdddmmmmNNNNNNNNMMMMMMMMMMMMM
MNNNNNNdhhhhhhhmNNNmNNNNms+/+:.....-//:/yso+/:...................----:://+oossyyyhhhs////:-..............-...----:---:-----------::::::::::::----------------------------------......................--://++oooooossssoo+++///:::::--.............--:+oyhddmdddmmmmNNNNNNNNNNNNNNNNMMMMM
MMNNMNNmdhhhhhdmNNmmNmNmmy+/+:.....-:-..............--::://+++oosyyhhhddddddddddhysso/:--................-....---------------------::::::::::-------:--------------------------.........................-:/:-..--:+ooysoooossyhyyyysooooo+++/::--........-:/+syhdmmNNNNNNNNNNNNNNNNNNNNN
MMMNNNNmdhhhhhdmNNNmNmmmmyo+/:.............-://+ossyyyyysyyoooooyddddhdddhhys+/:-///:-..................-.....-----------------------::::::::::::-----------------------------............................-:::.......-::/++osyhyyhhy/oo//::/+oyssso//:-........-:/+syhdmNNNNNNNNNNNNNNNN
MMNNNNNmdhhhhyhmmmmmmmdhy+:-..........-//+yhddhhyyyhhhhssss+++++ydddhys+/--....-//:-.....`..............-......------------------------::::::::-------------------------------..............................-::-...`......--:/+oyhhs/oo:::----ooshmsoosso+:--.........:/+syhdmNNNNNNNNNN
NNNNNNNmdhhhyyhddhys+:-..........-:+oss+::dmmmhhhyyyyhyyoos++//+oso/-........-::-...............................------------------------::::::::-----------------------------..................................-...`............-:/+/o+:-:---:osshm+-:ymmmdhyso/:--........--:/oshhdmmmm
NNNNNNNmdhyyso+/:-.........-://+oo++sy+-.-dmmmhhmdddhhyyooo/:-...........`...//:-................................---------------------------:::-----------------------.----....................................--..........``...``...---.----:ossym+--ymNNNmmmdddhyso/::-.........-:/+sy
NNNmmdhyo/:-..........-:+osyso/::-::oh+-.-dddmhydddddhys/:-.................----..................................-------------------------------------------------------.......................................-...............``..........--+oosd/--ymNNNmmmmdmmmNNmddyso/:-..........
dhs+/:-.........--:+oyhdmhyso/:::::/sho-.-ddddyshhys+/-.....................-......................................-----------------------------------------------------........................................--.....`.......``.`............-/oh/--smmNNmmmmmmmNNNNNNNNmmdhys+/:-....
-..........-:/osyddmmNNNNhyoo+::::::oy+-.-dddho//:-.........................-......................`...............-----------------------------------------------------..................`...........``.......---.`.`............................:---sddmmmmmmmmmNNNNNNNNNNNNNNmmdhyo+/
......-:/osyhddmmmmmmNNNNhyoo+::::::oy+-.-ys/-.............................--.......................................---------------------------------------------------...................................-------:....................................+hddmmmmmmmmNNNNNNNNNNNNNNNNNNmmmd
--/+syhdddhhhhmmmmmmNNNNNhyoo+::::::oh+-..:................................-..........................................-------------------------------------..---------....................................--...--:-....................................-+ydmmmmmmmNmmmmNNNNmmmmmmmNNNNNN
hdmmmmmmdhhhhhmmmmmmNNNNNhsso+:::::/oy/...`...............................--...........................................----------------------------------....--------......................................-------:......................................-/ydmmmmmNmmmmmmmmmmmmmNmmmNNNN
mmmmmmmmdddddhdmmmmmNNNNNdyso+:::::::-....................................--....-........................................----.......-------------------........-----.....................................`.....---:........................................./ydmmmNmmmmmmmmmmmmmmNNNNNNN
mmmmmmmNmmdddddmmmmmNNNNNdyo++::::-.......................................--...............................................---.........--------------.........----..................................`...........--:.........................................../hmmmmmmmmmmmmmmNNNNNNNNNN
mmmmmmmNmmdddddmmmmmNNNNNds++o::-......................................`..:-............................................................------------................................................`...........--/............................................-sdmmmmmmmmmmmNNNNNNNNNNN
mmmmmmmNmddddddmmmmmNNmNNds+++:...........................................---...-........................................................----------...................................................`.....----::/............................................../ydmmmmmmmNNNNNNNNNNNNN
mmmmmmmNmmdddddmmmdmNNmNNds+/:............................................--...--................-..........................................------....................................................`.`...--::::/................................................odmmmNNNNNNNNNNNNNNNN
mmmmmmmNmmdddddmddddmNmNmhs/-..........................................`..---..--..........................................................................................................................----::::................................................./hmmmNNNmmmmmmmmmmmm
mmmmmmmNmmdddddmdddddmmddh/...............................................-:-..............................................................................................................................-:::::/:..................................................-smNNNNmmmmmmmmmmmm
mmmmmmmNmmmddddmmmmddddhy/................................................:/:--..-.........................................................................................................................::::::/:....................................................+dmmmmNmmmmmmmmNm
mmmmmmmNmmmmmddmmmmmddhs-.................................................-::-...-........................................................................................................................-::::://:.....................................................:hmmmmmmmNNNNNNN
mmmmmmmNmmmmmddmNmmddho-..................................................-/:------.......................................................................................................................:::::://:......................................................:dmmmmmmmNNNNNN
