Leonardo da Vinci

Disambig.svg Ovo je članak o talijanskom slikaru, arhitektu i izumitelju. Za članak o skladatelju pogledajte članak Leonardo Vinci.
Leonardo da Vinci
Visoka renesansa
Leonardo da Vinci
Rođenje 15. travnja 1452.
Vinci, Italija
Smrt 2. svibnja 1519.
Amboise, Francuska
Vrsta umjetnosti slikarstvo - kiparstvo - arhitektura - mehanika
Praksa Firenca, Venecija, Rim, Milano, Amboise
Utjecao Rafael, Tizian, itd.
Poznata djela Mona Lisa
Bogorodica na stijenama
Posljednja večera
Portal o životopisima

olololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolo

Uololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollololololololololloloolololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolololololololollolo