.?....~..?..?..?............~..............~..??.....................?..?.??..?..?......?.~.......... ...?...?...?...........?..?.....?..??.......????...?......?.....?..........?..........