+----------- ++-+---+++-+ +++-+---+++- +-++-+---+++ ++-++-+---++ +++-++-+---+ ++++-++-+--- +-+++-++-+-- +--+++-++-+- +---+++-++-+ ++---+++-++- +-+---+++-++