# 0_Timelines select lines by criteria.ndf Script for selecting history items # www.BillHowell.ca 17Dec2011 initial # uses QNial programming language www.nial.com copyright of Nial Systems Limited and Queens University, Kingston, Ontario, Canada NOTE: when pasting the "truth values" back into the spreadsheet, dont copy the first 7 rows (these header rows!). /home/bill/Howell - history timelines/Timelines text/Timelines 3300 BC - 1899 AD spreadsheet output.txt o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o l o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o l o o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o l o o l o o o o o o o o o o o o o o o o o o o o l o l l l o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o l o o o l l l o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o l o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o l l o o o o l o l l o l o o o o l o o o o o o o o o o o o o o l o o o l o o o o l o o o o o o o o o o o o o o o o l l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o l o o l l o o o o o l o o o o o o o l l l l l l o o o o l o o l l l o l o o o l o o o l o o l o o o o l o o o o o o o o o o l l o l o o l o o l l l o o o o o o o o l o l o o o o o o o o o o o o l o o o o o o o o o l o o o o o l o o o o o o o o o o o o l o o o o o o o o o l o o o l l o o o o o o o o o o o o o o l o o o o o o o o l o o o o l o o o o o o l l o o o o o l l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o l o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l l l l l o o o o o o o o o o l o o o o o o l o o o o o o o o o l l o o o l o o o o o o o o o l o l l l l o o o o o o o o o o l o o o o l o l o l o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o l o o o l l o o o o o o o o o o l o o o l o o l o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o l l o o o l o o o o l o o o o o o o l l o o l o l l o o o o o l o l o o o l o o l o o o o o o o o o l o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o l o o o o o o l o l o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o o o o o l l o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o l l o o o o o o o o o o o l o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o l o l l o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o l o o o o o o o o o l l o l o l o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o l o o o l o o l l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o l o o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o l o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o l o o o o o o o o o o o o o o o o o o o o l o l o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o l l l o l l l l l o o o o o o o o o o o o l o o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o l o o o l o o o o o l l l o o o o l o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o l o o o l o l o o o o o o o o o o o o o o o o o o o l o o o o o l o o o l o o l o l l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o l l l l o o o o o o o o o o o o o o o o l l o o o o o o l o o o o o o o o o o o o o o l o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o l o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o l o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l l l o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l l o l o o o o o o o l o o o l o l o o o o o o l o o o o o o o o l o o o l o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l l o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o l o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o l l o o l o o o o o o o o o o o o l o o o o o o o o l l o l l o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o l o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o l o o l l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o l o o o o o o o o o o o o o o l o o o o o l o o l o l o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o l o o o l o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o l o o o o o l o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o l o o l o o o o o o o o o o o o l l o o l l o o o l l o o o o o o l o o o o l o o l l o l o o o o o o o o o o o l o o o o o o o o l o o o o o o o o l o o l o o o o o o o o l l o l o o o o o o o o o o o l o o o o o o o o l o o l l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o l o o l o o o o o o o o o o o l o o o o o l o o o o l o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o l o o o o l o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l l l o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o l o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o l o o o o o o o o o o o o o o o o l l l o o o o o o o l o o o l o o o o l o o o o o o o o l l o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o l o o o o o o l o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o l o o o o o o o l o o o o o l o l o o o o o o o o o o o o o l o o o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o l o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o l o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o l o o l l o o o o o o o o l o o o o o o o o o o o o o o l o o l o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l l o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o l o o l o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o l o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l l o l o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o l o o o o o o o o o o o o o o o o l o o l o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o l o o o o o o o o l o o l o o l o o o o o o o o l o l o o o o o o o o o o o o o o o l l o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o l o o o l o o o o l o o l o o o o o o o l o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o l o o o o l o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o l o o o o o o o o o o l l l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l l o l l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o l o o o o o o o o o o l o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o l o o o l l l o o o o o o o o o o o o o o l l o o o l o o o l l o l l o o o o o o l o o o o o l o o o o o l o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o l o o l o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o l o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o l o l o o l o o o o o o o o l o o o o o o o o o l o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o l o o o o o o o o o o o o o l o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o l o o o o l l o o l o o l o l o o o o o o o o o l o l o l o o o o l o o o l l o o l o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o l o o o o o o o o o o o o l l o o o o o o l o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o l l o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l l o o o o o o o o o o l o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o l o o o o o l o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o l o l o o o o l o o l o o o o o o o o o o o l o l o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o l o o l o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l l o o o o l o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o l l l o o o o o o o o o o o o o o o o l o l o o l o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o o l o l o o o o o o o o o o o o o o o o l l o l o l o o o l l o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l l o l o o o o o o o l o o o o l o l o o o o o l o o o o o o o o o o o l o o l o o o o o o o l o o o o l o l l o o l o o o o l o o l o l o o l o o o o o o l o l o o o o o o o o o o o l o l l o l l o o l l o o o l o o o o o o o o o o o o o l o o o o o o o o l o l o l l o o o l o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l l o l o o o o o o o l o o o o o o o l o o o o o o o l o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o l l o o o o o l l o o o o o o o o o l l o o o o o l o o o l o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o l l l l o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o l o o l l o l o l l o o o o o o o o o o o l o o l l o o l o o o o l o o o o o o o o o o l l o o o o o o o l o o o o o o o o l o l o l o o o o l o o o o o o o o l o o o l o o l l l l o o o l o o l l o o o o o o o o o o l o o o o o o o o o l l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o l o o l o l l o o o o o o l o o o o l o o o o o o l o o o l o o o o o o o l o o o o o l o o l o l o o o o l o o o l o o o l o o o o o o o o o o o o o l l o l o l o o o o o o o o o o o o o l o o o o o o o o o o o o o l o l o o o l o o o o l o o o l l o o l o o l o o l l l o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o l o o o o o o l o o o l l l o o l o o o o l o l l l l o o o o o o o o o o o o l o o o o o o l o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o l o o l o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o l o o o o o o o o o o o l l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l l o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o l o o o l o o o o l o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l l o o l o o o l o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o l o o l o o o o o o o o l o o o o o o o l o o o l l o o o l o o o l l l o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o l l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o l o o o o o o l o o o o o o o o l o o o o o o o l l o o o o o o o o o o o l o o o o l o o o o o o o l o o o l o o o o o o l o o o o o l o l o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o l l o o o o o o o o o o l o o o o o o o o l o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o l o o o l o o l l o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o l l o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o l o l o l o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o l o o o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o l o o o o o o l o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o l l l o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o l o o o o o o o o o l o o o o o o o o l o o o o o o o o o o l o o o l l o o o o o o o o o o o o o o o l l o l o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l l o o l o o o o l o l o o o o o o o o o o o o l o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o l o o o o o o o o o o l l l o o o o l o o o o o o l o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o l l o o o o o o o o l o o o o o l l o o o o l o o o o o o o l o o o o o o l o o o o o o o o l l o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o l o l o l o l o o o l l l o l o o o l o o l l l o o l o l o l o o o o o l o l o l o o o o o o o o o o o o o l o l o o o o o o o l o l o o o o o l o o o l l o o o l o o o o o l o o o o l o o o o o o o o o o o l o o o o o l o o o l l o o o o o l l o l o o l o o l o o l o l l l l o o o o o o o l o l o o o o l l o o l o l o o o o o o l o o o o o o o o o o o o o l o o o l o o l l l l o o o o o o o l o o o o o l o o o o l o l o o o l l o l o o o l o o o l o l l l o o o l o o o l l o o l o o l o o o o l l o l o o o o o o o o l o o o o o o o o o o l l l o o o o o l o o o o o o l o l o o o o o o o o o o o l l o o l o o l l o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o l o o o l o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o l o o o o o o o o o o o o o o o o o o l o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o l o o o o o o o o o l o l o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o l o o o l o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o l o o o o o o o l o l o l o o o o o o o o o o o l o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o l l o o o l o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l l l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l l o o o l o o o l o o o o o l o l o o o o o o o o l o o o o o o o o o o o o o o o l o l o o o l o o o o o o o o o o o o o o o l o o o o o o o l o o o o o l o o l o l o o o o o l o o o o o o o o o o o o o o o o l l o o l o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o l l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l l o o l o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o l o o l o l o l o l o o o o l o l o l o o o o o o l o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o l o o o o o o o l o o o o l o o o o o o o o o l l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o l o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l l o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o l o o o o o o o o o o o o o l o l o o l o o o l o o o o l o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o l l o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o l o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o l o o o o o o o o o o l l l l l o l o o l o l o l o o o o o l o o o o o o o o o o o l o o o o l o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o l o o o o o l o o o o o o o l o o o o o o o o o o o o l o o o o l o o o o l o o l o o o o o o o l l l o o o o o l o o o l o o o o o o o o o o o o o o o o o l l o o l o l o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o l o l o o l o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o l o o o o o o o o o l l o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l l l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o l o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o l o o l o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o l o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o l o o l o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o l l o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o l o o o o o l o l o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o l o o o o l l o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l l o l o o o o l o o l o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o l o o o o o o o l l l o o o o l o o l l o o o o l o o o o o l l l o o o o o o o o o o l o o o o l l o l o l o o o o l l l o o o o o o o l l o o l l l o o o o l o l o o l l o o o o o o o o o l o o o o o o o l o o o o l o l l l l o l o l o l o o o o o o l l o l l o o o o l o l o o o l o o o l l o o l o o o o o l o o o o l l o o o o l l o o o o o o o o o o o o o l l o o l o o l o o o o o o o l o o o o o o o o o o o o o o o l l l l o o l o o o o o o o o o o o o l o o o o o o o o o o l o o o o o l l l l l l l l l o o o o o o o o o o o l l o l l o l l o o o o l o l l l o o l l l o l o o l o o o o o l o o o o l l l l l o l o o o l o o l o l o l o l o l o l l l o o o o o o l o o l o o o l o o l o l l o l l l l o l o o o o o o l o l o o o l o l o l o o o l l l o o o l o o l l o o o l o l l o l l l l l o l o o l o l o o o l l o o o o o o l o o o o o o o l o o o o o o o o o l o l o o o o o l o o o o o o l l l l l l o o o l l l o l l l o o o o l o l o o o l l l l o l o l o o o o l l o l o l l o l o o l o o o l l o l l o o o o o o l o l o o o l l l o o o o l o o o o l o o o l o o o l o l o o o o o l o l o l l l o o o l o o o o o o o o o o o o o o o o o l l l l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o l l l o o o o o o l o o o o l o l o o o o o l o o o o o l o l l o o o o o o l l o l o l l l o o l o l l o o l o o l l l l l l l o l l l o o o l o o o o l o o o l o o l l l l o l o o l o l l o o o o l l l o o l l l o o l l l o l l o o o l o l o o o o l l l l o o l o o l l o l l l o o o o l l o o o o o o l l l o l o o o o l o l o l o l l l o l o o o o l o l o o o l o o o o o o l o o o l o o l l l o o o o o l o l l l o l l o l l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o l l o o o o o o o o o o o o o o l o o o o o o o o o l l o l o o o l o o o o o o o o o o o o o o l o o l l o o l o l o l l l l o o o o o l o l l l o o o l o l o o l o l o o o o o o l l o o l o o o o o o o o o l l l o o l l l o l l l l o l o l l l l l l l o l l o o l l o l l o l l o l l o l l o l l l o o o o l l l l l o l o l l o o o l l l o l o o o o o l o l o l l o o l o l o l o l l o l l l o l o l o l l l l o l l l l l l l o o o o l o o l o o o l o o l o l o l o l l l o o o o o l o l o o l l o l l o o o o o o l o l l l l l l o o l l l l l o o l o o l o o l l l o o l l o o o o l o l o l l o l o l o o o l o o o o o o o l l l o l l o o o o o l l l l o l l l l o l o o o o l o o o l l l o l l l o o o o o o o o o o o o o o o l l l o o o o l o o o o o o o o o o o o o o o o o o l o l o o o o o o l o l o o o o l l o o l o l o l o o o o o o o o o o l o l o o o o o o l o o o o l o o o o o l l o l l o l o l o l l l o l o o o l l o o l l l o o l l o l l o o l o o l l l o l l o l o l o l o o o o o o o o o o l o o o o o o o o o o o l o o o l o o o o o o l o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l l o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o l o l o o o o o o l o o o o o o o o o o o l o o o o o l o o o l l o o o l o o l o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o l o l l o l l o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o l o o o o o o o o o o o o o l o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o l o o l o o l o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l l o o o o o o l o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o l o o o o o o o o o o o o o l o o l l o o o o l o o o l o l o o o o o o o o o o o o o o o o o o o o o l o o o l o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o l o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o l o o o l o o o o o o o o o l o o o l l o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o l o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o l o o o l o o o o o o o o o o o o o o o l o l o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o l o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l l l o o o l o o o o o l o o o l o o o o o o l o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o l o o o l l o l o o o o o o o o o o l o o o o o o l o o o l o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o l o l o o o l l o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o l o o o o o o o o o l o o o o o o o o o l l o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l l l o o o o o o o o o o o o o o o l o o o o o o l o l o o o o o o o o o o o l o o o o o o o o o l l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o l o o o o o o o o o o o o o l o o o l o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o l o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o l o o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o l o o l o o o o o o o o o o o o o o o o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o l o o o l l o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l l o o o l o o o o l o o o o o o o l o o o o o o l o o o o o o o o o o o o o o o o l o o o o l l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o l o o l o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o l o o o l o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o o l o o o o o o o o o o o o o o l o o o o o o l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o l o o o o o l o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l o o l o o o o o o o l o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o l o l o l o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o l l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o l o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o l o o o l o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o l o o o l o o o o o o o o o o l o o o o o l o o o o o o o o o o o o o o l o o o o o o o o l o o o o o o l o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o l l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o l o o o o o o o o o o o o o l o l o o o l l o l l o l o l l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o l o l l o l o l l o o l o l o o o l o o l l o o o o o l o o o o o o l l o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o l o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o l l l o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o l o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o l l o o o o l o l o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o l o o o o o o o o o o o o o o o o o o o o l o l o o l o o o o o o o o o o o o l l l l o o o o o o o